我的iOS应用程序在主线程上运行了多长时间?

时间:2018-10-01 06:21:22

标签: ios swift memory-management concurrency analytics

我对并发并不陌生,并试图了解如何使我的应用程序性能更好。我正在尝试找出是否有办法找出我的应用在主线程上运行/执行操作已有多长时间。

如果我想让我的应用程序性能更好,那就是解决该问题的方法。预先感谢。

1 个答案:

答案 0 :(得分:1)

iOS中并发时需要考虑的几件事。

  • 您所有与UI/ UIApplication相关的任务都将在Main thread中执行, 您永远不要在任何辅助线程中执行UI任务。
  • 如果您有任何长时间运行的任务,例如服务器连接和 下载处理数据或任何业务逻辑的数据 与UI不相关的计算应以不同的方式执行 线程。

启动应用程序时,系统会为您创建主运行循环和主线程,默认情况下,所有任务都在主线程上运行。因此,正如我上面列出的,您可以使用GCDNSOperationQueue创建一个辅助线程来执行与UI无关的长时间运行的任务。因为如果您不为长时间运行的任务创建辅助线程,而仅在Main thread上运行,那么UI会一直停留到任务结束为止,这显然不是良好的用户体验。

要了解GCD和NSOperationQueue,请检查以下链接:https://www.raywenderlich.com/817-updated-course-ios-concurrency-with-gcd-operations