iOS之热启动和冷启动

概念

1.热启动:就是按下home键的时候,app还存在一段时间,这时点击app马上就能恢复到原状态,这种启动我们称为热启动。当                       APP 启动时需要的 dylibs 仍然停留在设备的磁盘缓存的时候,这个时候就是热启动,热启动的速度会更快。

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

 

你可能感兴趣的:(iOS之C,iOS之OC,iOS之swift,iOS开发)