美文网首页
减少图层数量

减少图层数量

作者: Crazy2015 | 来源:发表于2017-05-19 08:52 被阅读14次

初始化图层,处理图层,打包通过IPC发给渲染引擎,转化成OpenGL几何图形,这些是一个图层的大致资源开销。事实上,一次性能够在屏幕上显示的最大图层数量也是有限的。

确切的限制数量取决于iOS设备,图层类型,图层内容和属性等。但是总得说来可以容纳上百或上千个,下面我们将演示即使图层本身并没有做什么也会遇到的性能问题。

裁切

在对图层做任何优化之前,你需要确定你不是在创建一些不可见的图层,图层在以下几种情况下是不可见的:

  • 图层在屏幕边界之外,或是在父图层边界之外。
  • 完全在一个不透明图层之后。
  • 完全透明

Core Animation非常擅长处理对视觉效果无意义的图层。但是经常性地,你自己的代码会比Core Animation更早地想知道一个图层是否是有用的。理想状况下,在图层对象在创建之前就想知道,以避免创建和配置不必要图层的额外工作。

Core Graphics绘制

当排除掉对屏幕显示没有任何贡献的图层或者视图之后,长远看来,你可能仍然需要减少图层的数量。例如,如果你正在使用多个UILabel或者UIImageView实例去显示固定内容,你可以把他们全部替换成一个单独的视图,然后用-drawRect:方法绘制出那些复杂的视图层级。

相关文章

  • 减少图层数量

    初始化图层,处理图层,打包通过IPC发给渲染引擎,转化成OpenGL几何图形,这些是一个图层的大致资源开销。事实上...

  • iOS核心动画高级技巧十二(图像IO)

    目录 隐式绘制离屏渲染混合和过度绘制减少图层数量总结 本章将着重图层树本身,以发掘最好的性能。 一 隐式绘制 寄宿...

  • 李涛 图层效果

    运用图层蒙版减少对素材的破坏。 图层样式——混合选项 1.画笔着色如何不会画出界? 新建图层,画上去以后把图层模式...

  • iOS 滑动性能优化总结

    1. 减少图层的Blend操作。展示半透明的view,设备会把当前图层和背景图层进行alpha叠加,这是很耗性能的...

  • iOS 滑动性能优化

    一、 减少图层的Blend操作 展示半透明的view,设备会把当前图层和背景图层进行alpha叠加,这是一项很耗性...

  • UITableView的优化(面试必备)

    1. a.将cell及它的子控件设置为不透明的。b.尽量少用或不用透明图层。c.减少子控件的数量。d.尽量少用ad...

  • iOS 内存优化

    1.main 函数启动前减少动态库,合并一些动态库减少objc类,分类的数量 ,减少selector数量 main...

  • iOS启动优化

    优化分为main函数之前和main函数之后main之前1,减少链接动态库的数量2,减少类的数量3,减少含load方...

  • tableView

    1:cell重用。 2:draw异步对图层绘制。 3:异步加载图片。 4:减少对透明图层的使用。 5:对cell高...

  • tableView优化

    1:cell重用。 2:draw异步对图层绘制。 3:异步加载图片。 4:减少对透明图层的使用。 5:对cell高...

网友评论

      本文标题:减少图层数量

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