【发布时间】:2012-11-13 16:04:28
【问题描述】:
我最近一直在尝试使用不同的技术在 iOS 上绘制 2D 精灵(CoreAnimation、UIViews、CGContext 和 Open GL ES)。我从 CoreAnimation 获得的最佳性能与开发时间,所以我会坚持下去(暂时)。
为了显示位图,我使用了 CALayers——它工作得很好,并且不比 Open GL 慢多少。 有多种模式经常重复(这是平台游戏的典型特征)。出于节省内存的原因,我想为多个 CALayers 重用存储的图像。
我可以这样做吗?如何?我想像:
- 在内存中以任何形式(UIImage?)存储位图
- 从 UIImage 获取 CGImageRef
- 将 CGImageRef 应用于应显示该位图的每个 CALayer
这实际上是只存储每个层位图的指针,还是“Apple-magic”为每个 CALayer 创建位图的副本?
谢谢。
【问题讨论】: