因为如果运行 Instruments 并选择了活动监视器,则在 iPhone 4S 上运行的应用程序在释放上下文时使用 4.88MB,如果未释放上下文,也是 4.88MB 。那么这是否意味着释放上下文是可选的?(我认为实际上是必需的)。上下文由CGContextRef
变量引用。(正在使用 ARC)。
上下文是CGBitmapContext
为 Retina 显示器创建的,因此大约为 640 x 640,并且有 4 个这样的上下文,它们都是在 中创建的viewDidAppear
,我认为如果 1 个像素是 4 个字节,那么每个上下文已经是 1.6MB。难道viewDidAppear
是做完之后,上下文就自动释放了?基本上,我CGImage
从这些位图上下文生成对象并将 CGImage 对象设置为由对象指向CALayer
(使用layer.contents = (__bridge id) cgImage;
),因此不再需要位图上下文。它使用 Xcode 4.3 和 ARC 编译,面向 iOS 4.3。(但我认为CGContextRef
不是 ARC 的一部分)。
更新:更正:它应该是“从那些 CGBitmapContext 生成 CGImage 对象,并将那些 CGImage 对象设置为 CALayer”(编辑原始问题以反映这一点)。