我已经建立了一个用户界面,其中屏幕上的大部分内容都是使用CALayer放置的。这些层的设置相当简单;大多数人将图像设置为内容,并且一对夫妇有阴影。还有一些CALayer
衍生产品,例如CATextLayer
和CAGradientLayer
。在任何时候屏幕上都有大约18层。 11层的内容经常更改(但不代表动画),同样的11可以在嵌入UIScrollView
时向左或向右滚动。
我注意到我的3GS和4的性能都有点迟钝所以我正在寻找方法来调整我所拥有的东西,希望能有所改善。
我已根据设备将rasterizationScale
设置为适当的比例,并将shouldRasterize
设置为YES
。
图像以下列方式传递给图层......
someLayer.contents = (id)someUIImage.CGImage
我还能做些什么来改善整体表现吗?
答案 0 :(得分:3)
最好的办法是使用可用的分析工具来确定究竟是什么让你失望。
之前的回答说它比我更好: iOS / Core-Animation: Performance tuning
答案 1 :(得分:1)
您可以使用CATiledLayer而不是CALayer,它将在单独的线程中呈现图像,并且肯定会提高您的性能......