그래서 내가 스크린 샷을 아래의 코드를 사용하여 사진 앨범에 저장 내 앱을 얻고 메모리에서 내가 메모리를 해제 할 수 있습니까코어 그래픽 래스터 데이터는 ...
- (void) save {
UIGraphicsBeginImageContextWithOptions(self.view.bounds.size, self.view.opaque, 0.0);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *theImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(theImage,nil,NULL,NULL);
NSData*theImageData=UIImageJPEGRepresentation(theImage, 1.0);
[theImageData writeToFile:@"image.jpeg" atomically:YES];
}
를 해제하지 스크린 샷 래스터 데이터를 보유하고있는 Core Graphics에 의해 할당됩니까?
내 프로젝트는 메모리 관리를 위해 ARC를 사용하고 있습니다. 앱이 메모리를 할당하는 방법을 테스트 할 때 스크린 샷을 찍은 후에 메모리가 해제되지 않는 것을 알았습니다. 앱이 시간이지나면서 느려지 게되었습니다. Instruments의 'Allocation Summary'는 데이터 카테고리가 'CG 래스터 데이터'이고 담당 호출자가 'CGDataProviderCreatWithCopyOfData'라고 알려줍니다.
CFRelease()에 해결책이 있습니까? ? 나의 첫번째 앱은 그래서 꽤 멍청한 놈, 나는 시도하고 행운과 함께 문제를 해결하기 위해 인터넷의 주위를 살펴 했어있어
...
@autoreleasepool을 의미합니까? – Yariv
사실, 죄송합니다. – Mundi
@ 몬디는 작동하지 않습니다. –