iPhone: вопрос утечки памяти CALayer - PullRequest
0 голосов
/ 06 апреля 2010

Может ли приведенный ниже код вызвать утечку моего кода? Более конкретно, я несу ответственность за освобождение 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];
}

1 Ответ

0 голосов
/ 06 апреля 2010

свойство содержимого определяется следующим образом:

@property(retain) id contents

, что означает, что CGImageRef из newImage сохраняется.Утечки вашего кода не ясны из вашего кода: недостаточно контекста.Утечка будет только в том случае, если newImage был сохранен при вызове вашего setPrimaryPage:.

...