加载图像或使用CGGradient更高效?

时间:2012-06-12 15:34:49

标签: ios performance user-interface gradient

我正在为我的某个应用中的新UI尝试一些内容。我想知道,添加UI元素(如渐变背景)的最有效方法是什么(记住应用程序的大小以及速度/内存消耗)。

我会更好地创建像Inkscape或Illustrator这样的元素,然后通过UIImage> UIIMageView加载它们吗?或者最好使用CGGradientCAGradientLayer

另外,我经常对这些事情感到疑惑,我想知道是否有人可以解释我如何为自己测试这些事情(速度,内存消耗,整体性能)。

1 个答案:

答案 0 :(得分:3)

CAGradientLayers相当不错。我几乎总是喜欢使用CGGradient或使用CAGradientLayer来绘制使用图像的渐变,特别是因为您不需要包含视网膜/非视网膜,iPhone / iPad组合以及更改颜色变成了调整一行代码而不是在成像软件中重新生成一系列图像的问题。

如果您正在绘制drawRect中的其他绘图,请使用CGGradient绘制。如果您只想要背景,请使用CAGradientLayer。

您可以使用Instruments(产品 - > XCode中的配置文件)分析性能

  • 如果有滚动/动画
  • ,核心动画工具将为您提供每秒帧数
  • 时间分析器工具将显示哪些功能占用您的时间
  • 各种内存工具将显示内存消耗