优化tableView中出现的图片切圆角导致离屏渲染(减少内存消耗)

时间:2022-04-04 20:54:53

使用CAShapeLayer和UIBezierPath设置圆角

对于方案2需要解释的是:

  • CAShapeLayer继承于CALayer,可以使用CALayer的所有属性值;
  • CAShapeLayer需要贝塞尔曲线配合使用才有意义(也就是说才有效果)
  • 使用CAShapeLayer(属于CoreAnimation)与贝塞尔曲线可以实现不在view的drawRect(继承于CoreGraphics走的是CPU,消耗的性能较大)方法中画出一些想要的图形
  • CAShapeLayer动画渲染直接提交到手机的GPU当中,相较于view的drawRect方法使用CPU渲染而言,其效率极高,能大大优化内存使用情况。

 

总的来说就是用CAShapeLayer的内存消耗少,渲染速度快