性能比较iPhone上的视觉装饰通过各种方法

时间:2012-01-27 06:27:45

标签: ios performance

假设我们需要在iOS中装饰UIButton,UIView等,我们使用以下方法,

  1. 使用CALAYer属性,如borderWidth,CATransform,CAGradientLayer等。
  2. 使用UIView的drawRect:方法并通过CG执行我们的装饰图。
  3. 只使用已经准备好的图像在UIView或其图层的背景上绘制。
  4. 现在,我的问题超出了上述3,其中一个处理时间更少,速度更快(性能提升)?

    正如我已经注意到那些不断获得更新(视觉上)的视图就像一个tableview;即使应用了layer.shouldRasterise = YES,性能仍然很差。如果cornerRadius处于活动状态,那么性能就会变差。

    谢谢大家。

1 个答案:

答案 0 :(得分:0)

这取决于情况,如果你不关心内存消耗 - 图像应该效果最好,另一方面如果你想减少内存占用 - CALayer +绘图为我做的工作。

从cornerRadius和其他类似属性开始 - 您可以通过绘图轻松完成相同的工作,这将更有效。

同时检查最新的WWDC会话,有一个(我不记得名字)关于UIKit / CoreGraphics性能调整。