美文网首页
IOS性能优化,卡顿分析

IOS性能优化,卡顿分析

作者: 起个名字真难啊2015 | 来源:发表于2017-03-14 09:34 被阅读1056次

总结自YYKit作者的文章ios保持界面流畅的技巧

CPU资源消耗原因及解决方案

1,对象创建

对象的创建会分配内存,调整属性,甚至还有读取文件等操作,都比较消耗CPU资源。
建议:1,尽量用轻量的对象代替重量的对象:
eg:CALayer 比 UIView要轻量许多,如果不需要响应触摸事件的控件,用CALayer显示会
        更加合适;
         通过Storyboard创建视图对象时,其资源消耗会比直接通过代码创建对象要大得多;
            2,尽量推迟对象创建的时间,并把对象的创建分散到多个任务中;
            3,如果可以复用,就尽可能的从缓存池中复用对象;

2,对象调整

对象的调整也是耗费CPU资源的地方,
eg:CALayer并没有属性,当给属性赋值时,内部是通过运行时resolveInstanceMethod为对象
        临时添加一个方法,并把对应的属性值存储在一个dictionary中,同时还会通知delegate,创
        建动画等等,非常消耗资源;UIView的相关属性(frame等)都是layer映射过来的;
建议:在性能优化时,尽可能的减少对象属性的更改,视图层级调整,添加和移除视图;

3,对象销毁

通常当容器内持有大量对象时,销毁时资源的消耗也是非常明显的;
小Tip:把对象放到Block中,然后扔到后台队列去随便发送个消息以避免编译器警告,就可以让对象在
后台线程销毁了。

NSArray *tmp = self.array;
self.array = nil;
dispatch_async(queue, ^{
      [tmp class];
}

相关文章

  • IOS的性能优化包括哪几点

    iOS性能优化总结 iOS性能优化总结。关于 iOS 性能优化梳理: 基本工具、业务优化、内存优化、卡顿优化、布局...

  • iOS必读 - 收藏集 - 掘金

    iOS 性能优化总结 - iOS - 掘金关于iOS 性能优化梳理: 基本工具、业务优化、内存优化、卡顿优化、布局...

  • Android性能优化 - 消除卡顿

    性能优化系列阅读 Android性能优化 性能优化 - 消除卡顿 性能优化 - 内存优化 性能分析工具 - Tra...

  • Android性能优化 - 内存优化

    性能优化系列阅读 Android性能优化 性能优化 - 消除卡顿 性能优化- 内存优化 性能分析工具 - Trac...

  • 无标题文章

    APP性能优化 UI卡顿优化 View的绘制原理 UI卡顿原理分析 UI卡顿检测分析 BlockCanary原理分...

  • iOS 性能优化二

    主要讲解界面卡顿原因/优化方案/离屏渲染 iOS 性能优化一iOS 性能优化二iOS 性能优化三 1. 开发中遇到...

  • Android开发页面帧率优化有感

    Android APP 优化工具分析Android App优化之消除卡顿Android性能优化:卡顿优化Andro...

  • iOS 性能优化

    iOS的性能优化主要可提现在以前的几个方面:卡顿优化、耗电优化、启动优化、安装包的瘦身。 1、卡顿优化 在了解卡顿...

  • ios卡顿原因和性能优化

    卡顿分析和性能优化 卡顿参考: https://cloud.tencent.com/developer/artic...

  • IOS性能优化,卡顿分析

    总结自YYKit作者的文章ios保持界面流畅的技巧 CPU资源消耗原因及解决方案 1,对象创建 2,对象调整 3,...

网友评论

      本文标题:IOS性能优化,卡顿分析

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