好的,所以Apple显然有这样的事情,如果应用程序需要太长时间加载,iOS将自动退出应用程序或其他东西。因此,当我构建我的iPhone应用程序时,我有相当多的高分辨率图像,这需要一段时间才能加载,并且在应用程序被自动杀死之前它们永远不会完成。任何人都可以帮忙吗?
谢谢!
答案 0 :(得分:9)
来自“iPhone应用程序编程指南”:“初始化时间不是开始加载您不打算立即使用的大型数据结构的时间......如果您的应用程序在启动时需要额外的时间来从网络加载数据或做其他可能很慢的任务,你应该首先启动并运行你的界面,然后在后台线程上启动慢速任务。“
答案 1 :(得分:1)
正如Alex所说,我建议你在后台线程上加载资源。但是,请小心在后台线程上使用UIKit。在大多数情况下,UIKit类只能从应用程序的主线程中使用。您应该使用线程安全的API。
例如,UIImage + imageWithContentsOfFile:是线程安全的。 UIImage + imageNamed:不是线程安全的。
答案 2 :(得分:1)
需要一段时间来加载...
不仅仅是应用程序启动...如果你想要一个响应式应用程序,该应用程序不应该在主UI线程或运行循环上同步执行任何花费超过几十毫秒的事情。