iOS热启动和冷启动

概念

1.热启动:就是按下home键的时候,app还存在一段时间,这时点击app马上就能恢复到原状态,这种启动我们称为热启动。

2.冷启动:app被kill掉之后,重新打开启动过程为冷启动。

优化

1.热启动优化。

 一.数据优化,将耗时操作做异步处理。

二.检查NSUserDefaults的存储,NSUserDefaults实际上是在Library文件夹下会生产一个plist文件,加载的时候是整个plist配置文件全部load到内存中。所以非常频繁的存取大量数据也是有可能导致APP启动卡顿的

2.冷启动优化

利用DYLD_PRINT_STATISTICS分析main()函数之前的耗时

重新梳理架构,减少动态库、ObjC类的数目,减少Category的数目

定期扫描不再使用的动态库、类、函数,例如每两个迭代一次

用dispatchonce()代替所有的__attribute__((constructor))函数、C++静态对象初始化、ObjC的+load

在设计师可接受的范围内压缩图片的大小,会有意外收获

利用锚点分析applicationWillFinishLaunching的耗时

将不需要马上在applicationWillFinishLaunching执行的代码延后执行

rootViewController的加载,适当将某一级的childViewController或subviews延后加载

如果你的App可能会被后台拉起并冷启动,可考虑不加载rootViewController

参考文本 https://mp.weixin.qq.com/s/Kf3EbDIUuf0aWVT-UCEmbA

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容