iPhone:CALayer的内存泄漏问题
-
24-09-2019 - |
题
将代码波纹管原因我的代码泄漏?更具体而言,我是负责释放newImage
或mainPageLayer
的内容(这是一个CALayer
对象)?我得到一个内存警告每4个时间调用该方法,但无法弄清楚,为什么......
我还不能找出为什么mainPageLayer.contents = [newImage CGImage];
抛出一个警告,我传递的参数是不兼容的指针的时间。该图像示出了层内就好了。
-(void)setPrimaryPage:(UIImage *)newImage {
pImageSizeWidth = newImage.size.width;
pImageSizeHeight = newImage.size.height;
[mainPageLayer setFrame:CGRectMake(0, 0, pImageSizeWidth, pImageSizeHeight)];
mainPageLayer.contents = [newImage CGImage];
}
解决方案
的内容属性被定义为如下:
@property(retain) id contents
这意味着从CGImageRef
所述newImage
被保留。无论你的代码泄漏是不是从你的代码清楚:有没有足够的上下文。如果newImage
是在呼唤你的setPrimaryPage:
保留它只会发生泄漏。
不隶属于 StackOverflow