Как долго мое приложение iOS работает в главном потоке? - PullRequest
0 голосов
/ 01 октября 2018

Я новичок в параллелизме и пытаюсь понять, как заставить мое приложение работать лучше.Я пытаюсь выяснить, есть ли способ узнать, как долго мое приложение выполняло / выполняло операции в основном потоке .

И это то, что нужно сделать, если я пытаюсь улучшить работу своего приложения.Заранее спасибо.

1 Ответ

0 голосов
/ 01 октября 2018

Несколько вещей, которые необходимо учитывать при одновременном выполнении в iOS.

  • Все ваши задачи, связанные с UI/ UIApplication, будут выполнены в Main thread, вы никогда не должны выполнять свою задачу пользовательского интерфейса в каком-либо дополнительном потоке.
  • Если у вас есть какая-либо долго выполняемая задача, такая как подключение к серверу и загрузка данных, обработка данных или любые вычисления бизнес-логики, не связанные с пользовательским интерфейсом, должны выполняться в другом потоке.

Когда ваше приложениеstart, система создает для вас основной цикл выполнения и основной поток, и по умолчанию все задачи выполняются в главном потоке.Итак, как я перечислил выше, вы можете создать вторичный поток, используя GCD или NSOperationQueue для выполнения долгосрочных задач, которые не связаны с пользовательским интерфейсом.Потому что, если вы не создаете вторичный поток для долго выполняющихся задач и запускаете его только на Main thread, то ваш пользовательский интерфейс будет зависать, пока задача не будет завершена, что, очевидно, не очень удобно для пользователя.

Чтобы понять GCD и NSOperationQueue, проверьте эту ссылку: https://www.raywenderlich.com/817-updated-course-ios-concurrency-with-gcd-operations

...