안녕하세요.이 모듈이 골칫거리 인 것으로 나타났습니다. Photolibrary에서 100 개 이상의 이미지를 가져 와서 다른 이름으로 문서 디렉토리에 저장합니다. 예상했던대로 나는 이상한 곳에서 기억에 문제가 있었다. 그것은 UIImagePNGRepresenation 캐싱 파일 것 같습니다. 그래서 300 + 이미지에 대해 아래의 프로세스를 실행하면 3.00GB의 범위에서 "전체 바이트"가 표시되고 메모리 (할당 도구에서 테스트 됨)로 인해 충돌이 발생합니다. 아래 코드를 붙여 넣었습니다. 캐싱은 [UIImage imageNamed:]
하지 UIImagePNGRepresentation()
에서 오는이 코드UIImagePNGRepresentation을 사용할 때 메모리 문제가 발생했습니다.
-(void)something
{
NSData *data=nil;
for (int i=0; i<numberOfImages; i++) {
@autoreleasepool {
UIImage *image=[UIImage imageNamed:[NSString stringWithFormat:@"image%d.png",i]];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [[paths objectAtIndex:0] stringByAppendingString:@"directoryname"];
NSString *fullPath = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"image%d.png",i]];
//convert image into .png format
data=UIImagePNGRepresentation(image);
[data writeToURL:[NSURL URLWithString:fullPath] atomically:NO];
}
}
data=nil;
}
각 이미지 사이에 1 초? 그게 잘 확장되지 않습니다 .. – JHollanti
나는 이것을 시도했지만 도움이되지 않습니다. 제발 다른 방법으로 이것을 해결할 수 있습니다 ... 미리 감사드립니다. –