내 응용 프로그램은 애니메이션에서 많은 크기 조정 이미지를 사용합니다. 프레임을 건너 뛰지 않으려면 애니메이션을 실행하기 전에 내 이미지의 크기를 조절하고 저장하십시오. 다음은 이미지를 저장하는 코드입니다.UIImagePNGRepresentation으로 이미지를 저장할 때 메모리 문제가 발생했습니다.
+ (void)saveImage:(UIImage *)image withName:(NSString *)name {
NSData *data = UIImagePNGRepresentation(image);
NSFileManager *fileManager = [NSFileManager defaultManager];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSString *directory = [paths objectAtIndex:0];
NSString *fullPath = [directory stringByAppendingPathComponent:name];
[fileManager createFileAtPath:fullPath contents:data attributes:nil];
}
불행히도이 함수를 반복적으로 호출하면 메모리에 문제가 있습니다. 10MB 정도의 이미지를 저장하려고합니다. 아마도 문제는 자동으로 변수를 변경 한 것 같습니다. 아마도 데이터를 할당하고 마지막에 릴리스해야합니다. 그러나 UIImagePNGRepresentation
의 할당 버전을 찾을 수 없습니다. 누구든지 도와 줄 수 있습니까?
@occulus 및 @Tommy wrt에서 v. nice 답변을 받았습니다. autoreleased vars - 그럼에도 불구하고 문제를 해결하지 않는 것, 다른 일이 원인이 될 수 있는지 궁금합니다!? – iPadDeveloper2011
나는 지금 문제를 이해한다고 생각한다. 이미지를 저장할 때뿐만 아니라 이미지를 저장할 때도 자동 복구 풀이 있어야합니다. – iPadDeveloper2011