我的应用程序在启动过程中需要很长时间,而显示启动画面。我认为这是由于iOS需要加载的大小,包括库。我的问题是,我可以加载那些用户真正想要使用它的时刻,所以它会缩短启动时间吗? 还有其他方法可以缩短吗? 非常感谢。我是否可以延迟加载我的库,以便它们不会延迟我的应用程序启动?
回答
所有第三方库静态链接到您的应用程序。理论上你可以懒加载只有苹果自己的弱绑定库。我不知道如何在iOS上控制此过程。这在Mac上当然是可能的。
当然,只要你不需要他们直接。
LazyLoad并不局限于你的应用,例如,如果你有一个巨大的Opengl场景,你可以选择不放置它的纹理,直到用户真正点击你需要的按钮。
这样做的缺点是,打开任何需要延迟加载的等待时间将会进一步向下移动(当用户想玩时,他会有更长的加载时间)。
你可以尝试的是启动Thread来处理启动时的加载,并且从你执行setBooleanLibXFinishedLoading的线程开始,你的应用程序只需要等待所有booelan被设置为继续。 这应该会减少用户的明显等待时间,同时优化实际花费的时间。
希望这有助于
杰森
感谢您的回复杰森。从你的评论这个问题来找我:我怎样才能避免在一开始iOS加载libreries?我以后如何加载它们?非常感谢。 – toupper 2011-05-18 15:23:34
好的,你可以添加一个你称之为加载库的例子吗? (对不起,我现在主要在android上工作,所以我在IOS上有点生疏) – 2011-05-18 15:55:38
我的假设是iOS在启动时加载了我们添加到项目中的框架和库(例如libGoogleAnalytics.a)。我不在代码中加载它们,只导入文件。也许有人尝试过,可以在这方面纠正我。 – toupper 2011-05-19 11:39:18
- 1. 我可以延迟window.open()吗?
- 2. 我的流利nHibernate应用程序不是延迟加载
- 3. 是否可以延迟window.load?
- 4. 是否可以在Dartlang中使用Polymer应用程序的延迟加载?
- 5. 我们可以用延迟重启来构建Mac安装程序吗?
- 6. 如何延迟MainPage,以便在数据加载后启动?
- 7. 我可以延迟jQuery addClass吗?
- 8. 应用程序启动延迟
- 9. GWT。延迟启动应用程序
- 10. 延迟我的jQuery加载脚本
- 11. 的jquery - 延迟加载 - 设置延迟
- 12. 延迟加载程序
- 13. 我不知道延迟加载模式是否是这里
- 14. 我可以选择性地关闭延迟加载w/NHibernate吗?
- 15. 添加可延迟事件的延迟
- 16. 延迟加载
- 17. 延迟加载
- 18. 延迟加载
- 19. 延迟加载,我正在做对吗?
- 20. 我如何延迟加载Spring Security?
- 21. 添加启动延迟
- 22. Primefaces DataGrid是否可以进行延迟加载?
- 23. 我如何可以延迟的CSS功能动画
- 24. 春库和延迟加载
- 25. 是否可以在scrapy中设置动态下载延迟?
- 26. URLClassLoader是否使用延迟加载?
- 27. 脚本用于延迟程序启动
- 28. STM32F4 - 我可以在中断例程中使用延迟吗?
- 29. 启动QPropertyAnimation延迟
- 30. Rails启动延迟
即使它们是第三方,您也可以将链接库设置为弱(目标>信息>常规),但我不知道这是否会产生任何效果。 – toupper 2011-05-24 11:59:04
@ toupper据我所知。设置链接的唯一原因是确保您的应用能够解析您的应用所在平台的符号,而不是使用您的应用编译到的平台的符号。让自己的图书馆薄弱没有任何意义。 – bioffe 2011-05-24 15:13:10