如果我的应用程序关闭,因为加载时间需要很长时间,我可以移动一些代码或从applicationDidFinishLaunching调用到RootViewController中?意思,是(关机)定时器只看applicationDidFinishLaunching?应用程序启动时间限制仅限于applicationDidFinishLaunching吗?
2
A
回答
4
我不是100%确定的,但我相信当控制权返回到运行循环并且应用程序可以接受用户输入(通常在applicationDidFinishLaunching方法的末尾)时,计时器会停止。
但是,如果您在applicationDidFinishLaunching中加载视图,并且loadView或viewDidLoad需要很长时间,那么您的应用程序可能会被操作系统关闭。或者,您可以使用延迟为0的-performSelector:withObject:afterDelay:
调用该方法,并且该方法将在运行循环中排队并尽快运行。
如果在将控制权移交给用户之前必须进行大量处理,则应该考虑在后台线程上执行该负载。
编辑:这是relevant Technical Q&A。
1
一般来说,任何耗时的东西都不应该在主线程中完成。你正在applicationDidFinishingLaunching应尽快返回。既可以防止你的应用被SpringBoard杀死,也可以作为用户的不错体验。请使用p erformSelector:withObject:afterDelay:
或使用NSOperations
将内容移出主线程。
相关问题
- 1. 通用应用程序,仅限于@ 2x仅限于
- 2. 始终仅限于应用程序
- 3. 仅将API请求限制为仅限我自己的移动应用程序
- 4. iPhone应用程序可以有时间限制吗?
- 5. 我可以增加Agentry应用的iOS应用启动时间限制吗?
- 6. 将NFC标签限制为仅适用于应用程序(Android)
- 7. 如何限制Android应用程序的安装仅限于高级用户。
- 8. 启动ios应用程序的权限
- 9. 如何限制ipad应用程序仅限ios6?
- 10. 仅限我的应用程序限制播放接收器
- 11. 如何限制在Android应用程序中的时间动作?
- 12. 仅限我的移动应用程序将流量限制到服务器
- 13. 在Android应用程序中的有限时间启用按钮
- 14. 进程启动限制
- 15. DateTime.ToOADate - 仅限时间
- 16. 应用开发驱动程序限制
- 17. ASP.NET限制应用程序
- 18. 应用程序Android限制
- 19. Facebook应用程序限制
- 20. LruCache受Android应用程序内存空间的限制吗?
- 21. WordPress - 限制类别仅限于1级
- 22. 仅限一页javascript应用程序
- 23. iPhone - 仅限横向应用程序
- 24. 仅限Chrome应用程序窗口
- 25. 仅限某些应用程序的Collectstatic
- 26. FlexBuilder 3 - 仅限ActionScript - AIR应用程序
- 27. 仅限我的应用程序认证
- 28. 试用版的应用程序的时间限制
- 29. DateTimePicker - 仅限于未插电的时间
- 30. 在应用程序启动时延迟ios权限通知?
使用performSelector:withObject:afterDelay,你说我应该是安全的,无论因为运行循环已经在进行?但是如果我的方法在主线程上花费了很多时间 - 即使我正在使用performSelector,操作系统仍然会杀死它?我相信这个单独的线程可能是最好的选择。 – 4thSpace 2009-12-10 07:16:36
不,使用performSelector:withObject:afterDelay:将首先运行循环,然后执行选择器。一旦你在applicationDidFinishLaunching之后点击运行循环,关闭计时器就会被终止 – 2009-12-10 15:03:43