Как я могу увеличить скорость доступа к сети моего приложения для iOS и Android?

#android #ios #performance #parse-platform

#Android #iOS #Производительность #разбор-платформа

Вопрос:

Языки Switt и Kotlin. Платформы iOS и Android. iOS версии 12 и выше. Android версии 26 и выше. ext.kotlin_version = ‘1.3.71’ Swift 5 Android minSdkVersion 26 targetSdkVersion 29

Я пишу приложение как для iOS, так и для Android. Это почти завершено, но я обнаружил, что скорость доступа к сети немного медленнее, чем могла бы быть для списков объектов.

Когда я открываю списки (в которых есть изображения), это может занять несколько секунд, до 10. Другие приложения, такие как FB, кажутся гораздо более отзывчивыми.

Интересно, смогу ли я распараллелить выборки Dto, предоставив каждому рабочему потоку по одному за пределы рабочего потока, в котором они уже запущены. (Ничто из этого не блокирует пользовательский интерфейс как есть).

Будут ли иметь значение параллельные выборки, по одной на рабочий поток? Будет ли иметь значение декодирование файлов jpeg в отдельных потоках? Каково ограничение потока (если есть) на каждой платформе? Если я раскручу 20 рабочих потоков, будут ли некоторые просто ждать ядра? Это как для Android, так и для iOS. Какие другие подходы я мог бы использовать для увеличения скорости.

Я использую Parse.
https://github.com/parse-community/Parse-SDK-iOS-OSX
https://github.com/parse-community/Parse-SDK-Android

Какие еще хитрости используют опытные разработчики приложений, чтобы ускорить работу своих сетевых приложений Kotlin и Swift?

Я в основном разработчик на стороне сервера, поэтому я думаю, что я неплохо справляюсь с созданием эффективных запросов и тому подобного, но посмотрим. 🙂

Заранее спасибо. -Крис

Ответ №1:

Прежде чем устранить проблему, вам нужно провести несколько тестов:

  1. ваши сетевые тесты с помощью www.speedtest.net (около 3-5 тестов)
  2. тест вашего поставщика данных с использованием сторонних инструментов, таких как Postman
  3. запустите инструмент профилирования в AndroidStudio

После этого вы узнаете корень своей проблемы (низкая скорость соединения, замедление работы сервера данных или проблемы с производительностью в коде вашего приложения).