좋아요.이 메모리 누수를 추적하는 데 어려움이 있습니다. 이 스크립트를 실행할 때 어떤 메모리 누수도 보이지 않지만 내 objectalloc은 등반 중입니다. Instruments는 CGBitmapContextCreateImage> create_bitmap_data_provider> malloc을 가리키며, 이는 내 objectalloc의 60 %를 차지합니다.iPhone - UIImage Leak, ObjectAlloc Building
이 코드는 NSTimer를 사용하여 여러 번 호출됩니다.
반환하면 어떻게됩니까?
... 또는 어떻게 UIImage imageWithCGImage가 ObjectAlloc을 빌드하지 않도록 할 수 있습니까?
//I shorten the code because no one responded to another post
//Think my ObjectAlloc is building up on that retUIImage that I am returning
//**How do I clear that reUIImage after the return?**
-(UIImage) functionname {
//blah blah blah code
//blah blah more code
UIImage *retUIImage = [UIImage imageWithCGImage:cgImage];
CGImageRelease(cgImage);
return retUIImage;
}
이렇게 공개 된 NSAutoreleasePool을 보았습니다 ... [수영장 드레인] 어느 쪽이 맞습니까? [pool drain] 또는 [pool release]? – bbullis21
docs : 참조 계산 환경에서이 메소드는 release와 동일하게 작동합니다. autorelease pool은 retain 할 수 없으므로 (retain을 보라), 따라서 수신기의 할당이 해제된다. 자동 복구 풀이 할당 해제되면 자동 복구 된 모든 객체에 해제 메시지가 전송됩니다. 개체가 동일한 풀에 여러 번 추가되면 풀이 할당 해제되면 추가 될 때마다 해제 메시지가 수신됩니다. 전화에 가비지 수집이 없습니다 – coneybeare
댓글에서 명확하지 않지만 그 설명은 드레인 방식입니다. – coneybeare