美文网首页iOS面试题
iOS 性能优化总结

iOS 性能优化总结

作者: ios小蜗牛 | 来源:发表于2020-07-29 12:02 被阅读0次

    参考

    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.编译器优化。

    补充

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

    相关文章

      网友评论

        本文标题:iOS 性能优化总结

        本文链接:https://www.haomeiwen.com/subject/ivdhrktx.html