动态绘制图形内存暴增问题

来源:互联网 发布:windows访问samba 编辑:程序博客网 时间:2024/05/29 15:50

原文:http://bihongbo.com/2016/01/03/memoryGhostdrawRect/


解决:

直接用专有图层CAShapeLayer

CAShapeLayer是一个通过矢量图形而不是bitmap来绘制的图层子类。用CGPath来定义想要绘制的图形,CAShapeLayer会自动渲染。它可以完美替代我们的直接使用Core Graphics绘制layer,对比之下使用CAShapeLayer有以下优点:

  • 渲染快速。CAShapeLayer使用了硬件加速,绘制同一图形会比用Core Graphics快很多。
  • 高效使用内存。一个CAShapeLayer不需要像普通CALayer一样创建一个寄宿图形,所以无论有多大,都不会占用太多的内存。
  • 不会被图层边界剪裁掉。
  • 不会出现像素化。

所以使用CAShapeLayer来实现线条的绘制,性能非常稳定。

原创粉丝点击