iOS App 启动性能优化

概念

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

https://mp.weixin.qq.com/s/Kf3EbDIUuf0aWVT-UCEmbA

你可能感兴趣的:(iOS App 启动性能优化)