美文网首页
CPU资源消耗原因和解决方案

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

作者: 蛮荒星域 | 来源:发表于2016-10-24 19:09 被阅读71次

对象创建

对象的创建会分配内存、调整属性,甚至还有读取文件等操作,比较消耗CPU资源,尽量用轻量的对象代替重量的对象,可以对性能有所优化。

  • CALayer比UIView要轻量许多,那么不需要响应触摸事件的控件,用CALayer显示会更加合适。
  • 如果对象不涉及UI操作,则尽量放到后台线程去创建,但可惜的是包含有CALayer的控件,都只能在主线程创建和操作。
  • 通过Storyboard创建视图对象时,其资源消耗会比直接通过代码创建对象要大非常多,在性能敏感的界面里,Storyboard并不是一个好的技术选择
  • 尽量推迟对象创建的时间,并把对象的创建分散到多个任务中去。
  • 如果对象可以复用,并且复用的代价比释放、创建新对象要小,那么这类对象应当尽量放到一个缓存池里复用。

对象调整

对象的调整也经常是消耗CPU资源的地方。

  • 对UIView的属性进行调整时,消耗的资源要远大于一般的属性,所以在应用中,应该尽量避免减少不必要的属性修改。
  • 优化性能时,应该尽量避免调整视图层次、添加和移除视图。

对象销毁

对象的销毁虽然消耗资源不多,但累积起来也是不容忽视的。通常当容器类持有大量对象时,其销毁的资源消耗就非常明显。

  • 如果对象可以放到后台线程去释放,那就挪到后台线程去。
  • 把对象捕获到block中,然后扔到后台队列去随便发送个消息以避免编译器警告,就可以让对象在后台线程销毁了。
    诸如:
NSArray *tmp = self.array;
self.array = nil;
dispatch_async(queue, ^{
    [tmp class];
});```

相关文章

  • 2019-11-19

    CPU 资源消耗原因和解决方案 CPU 资源消耗原因和解决方案 对象创建 对象的创建会分配内存、调整属性、甚至还有...

  • 卡顿优化

    卡顿的原因:CPU和GPU的资源消耗或CPU使用率低 总结 解决方案很明了:降低CPU和GPU的资源消耗,提高CP...

  • 2019-11-19

    GPU 资源消耗原因和解决方案 GPU 资源消耗原因和解决方案 相对于 CPU 来说,GPU 能干的事情比较单一:...

  • CPU与GPU

    一、CPU CPU 计算显示内容,比如视图的创建、布局计算、图片解码、文本绘制等 CPU 资源消耗原因和解决方案 ...

  • iOS开发积累知识(二)----降低CPU和GPU消耗

    CPU 资源消耗原因和解决方案 对象创建 对象的创建会分配内存、调整属性、甚至还有读取文件等操作,比较消耗 CPU...

  • iOS 性能优化_CPU 消耗优化

    CPU 资源消耗原因和解决方案 对象创建 原因:对象的创建会分配内存、调整属性,甚至还有文件读写等操作,比较消耗 ...

  • iOS 性能优化_GPU 消耗优化

    GPU 资源消耗原因和解决方案 相对 CPU 来说,GPU 能做的事情比较单一:接收提交的纹理(Texture)和...

  • CPU资源消耗原因和解决方案

    对象创建 对象的创建会分配内存、调整属性,甚至还有读取文件等操作,比较消耗CPU资源,尽量用轻量的对象代替重量的对...

  • ##CPU 资源消耗原因和解决方案

    对象创建对象的创建会分配内存、调整属性、甚至还有读取文件等操作,比较消耗 CPU 资源。 尽量用轻量的对象代替重量...

  • Android性能测试之GPU

    卡顿 卡顿产生的原因: 1、CPU资源消耗原因;2、GPU资源消耗原因。 CPU上文已经阐述,接下来说一下GPU。...

网友评论

      本文标题:CPU资源消耗原因和解决方案

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