提高核心动画的性能

时间:2011-10-17 08:28:21

标签: iphone objective-c ios core-animation core-graphics

我已经建立了一个用户界面,其中屏幕上的大部分内容都是使用CALayer放置的。这些层的设置相当简单;大多数人将图像设置为内容,并且一对夫妇有阴影。还有一些CALayer衍生产品,例如CATextLayerCAGradientLayer。在任何时候屏幕上都有大约18层。 11层的内容经常更改(但不代表动画),同样的11可以在嵌入UIScrollView时向左或向右滚动。

我注意到我的3GS和4的性能都有点迟钝所以我正在寻找方法来调整我所拥有的东西,希望能有所改善。

我已根据设备将rasterizationScale设置为适当的比例,并将shouldRasterize设置为YES

图像以下列方式传递给图层......

someLayer.contents = (id)someUIImage.CGImage

我还能做些什么来改善整体表现吗?

2 个答案:

答案 0 :(得分:3)

最好的办法是使用可用的分析工具来确定究竟是什么让你失望。

之前的回答说它比我更好: iOS / Core-Animation: Performance tuning

答案 1 :(得分:1)

您可以使用CATiledLayer而不是CALayer,它将在单独的线程中呈现图像,并且肯定会提高您的性能......