App启动优化

2022-02-01  本文已影响0人  gleeeli

1.减少c函数启动
移除不需要的动态库(先删掉所有,一个个添加)
功能类似的Category扩展合并
TinyPNG算法压缩图片减少IO读取时间

2.applicationWillFinishLaunching
一些数据处理,能异步的异步

3.viewDidload的优化 不急着加载数据,
有些隐藏view,以后加载
延后图片加载

4.总结
一、利用DYLD_PRINT_STATISTICS分析main()函数之前的耗时
二、重新梳理架构,减少动态库、ObjC类的数目,减少Category的数目
三、定期扫描不再使用的动态库、类、函数,例如每两个迭代一次
四、用dispatchonce()代替所有的_attribute((constructor)) 函数、C++静态对象初始化、ObjC的+load
五、在设计师可接受的范围内压缩图片的大小,会有意外收获
六、利用锚点分析applicationWillFinishLaunching的耗时
七、将不需要马上在applicationWillFinishLaunching执行的代码延后执行
八、rootViewController的加载,适当将某一级的childViewController或subviews延后加载
九、如果你的App可能会被后台拉起并冷启动,可考虑不加载rootViewController
不应放过的一些小细节
十、异步操作并不影响指标,但有可能影响交互体验,例如大量网络请求导致数据拥堵
有时候一些交互上的优化比技术手段效果更明显,视觉上的快决不是冰冷的数据可以解释的,好好和你们的设计师谈谈动画
参考文档:https://zhuanlan.zhihu.com/p/28600469

上一篇 下一篇

猜你喜欢

热点阅读