iOS 性能优化总结

参考

https://ke.qq.com/course/314526

CPU优化

1.尽量用轻量级的对象,比如用不到事件处理的地方,可以考虑使用 CALayer取代 UIView。
2.不要频繁地调用 UIView的相关属性,比如fame,,bounds,transform等属性,尽量减少不必要的修改。
3.尽量提前计算好布局,在有需要时一次性调整对应的属性,不要多次修改属性。
4.Autolayout会比直接设置 framer消耗更多的CPU资源。
5.图片的size最好跟 UIImageView的size保持一致。
6.控制一下线程的最大井发数量。
7.尽量把耗时的操作放到子线程,比如文本处理和图片处理。

GPU优化

1.尽量避免短时间内大量图片的显示,尽可能将多张图片合成一张进行显示。
2.尽量减少视图数量和层次。
3.减少透明的视图( alpha<1),不透明的就设置 opaque为YES。
4.尽量避免出现离屏渲染。

哪些操作会触发离屏渲染?

1.光柵化, layer. shouldRasterize=YES
2.遮罩,layer.mask
3.圆角,同时设置Layer. masksToBounds=YES、 layer. cornerRadius大于0
4.阴影,layer. shadowXXX

耗电优化

1.降低CPU,GPU的损耗。
2.少用定时器。
3.优化文件操作,一次性写入数据,大数据使用数据库。
4.优化网络方面,重复请求用缓存,设置超时,设置取消请求,网络差的情况下不请求等。
5.优化定位,定位完毕记得关闭定位,可以适当降低精确度。

启动优化

dyld阶段
1.减少动态库、合并一些动态库(定期清理不必要的动态库)。
2.减少0bjc类、分类的数量、减少 Selector数量(定期清理不必要的类、分类)。
3.减少C++虚函数数量。
4.Swift尽量使用 struct。

Main阶段
1.在不影响用户体验的前提下,尽可能将一些操作延迟,不要全部都放在 finishLaunching方法中。
2.按需加载。

安装包优化

1.AppCode检测项目,找出未使用过的代码并删除。
2.项目中用到的图片做到无损压缩。
3.编译器优化。

补充

本文如有侵犯隐私或其他请联系我,我将在第一时间整改或删除。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值