繁体   English   中英

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

[英]How long has my iOS application been running on main thread?

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

如果我试图使我的应用程序性能更好,那就是解决该问题的方法。 提前致谢。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM