2010-12-16 2 views
3

SDK 4.1을 사용하여 iOS 4.1 이상을 타겟팅하는 iPhone 앱을 개발하고 있습니다.
인스트루먼트는 아래 코드에 대해 메모리 누수를보고합니다.ALAssetsLibrary를 사용할 때 메모리 누수가 발생했습니다.

void (^resultBlock)(ALAsset *) = ^(ALAsset *asset) { 
    NSLog(@"resultBlock"); 
}; 
void (^failureBlock)(NSError *) = ^(NSError *error) { 
    NSLog(@"error"); 
}; 
NSURL *url = [NSURL URLWithString:@"assets-library://asset/asset.JPG?id=1000000176&ext=JPG"]; 
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init]; 
[library assetForURL:url resultBlock:resultBlock failureBlock:failureBlock]; 
[library release]; 
난 그냥 테스트를 위해 내 TestApp가의 viewDidLoad에이 코드를 삽입

. (내 실제 프로젝트에 UIImagePicker로 사용하고 있습니다.) 나는 악기 (누출)를 사용하여 TestApp가를 실행하면
, 그것은 메모리 누수를보고 발사 후 약 10 초.

아무도이 코드의 문제점을 말해 줄 수 있습니까? 아니면 내가해야 할 다른 것이 있습니까?
감사합니다.

+0

동일한 문제가 있으며 직접 추적하려고합니다. 해결 방법을 찾았습니까? – jabroni

+0

기본적으로 인 스트 루먼트는 매 10 초마다 스냅 샷을 찍기 때문에 "발사 후 10 초"타이밍이 발생합니다. 이 시간은 Leaks - Snapshots - Snapshot Interval (sec)에서 변경할 수 있습니다. 동일한 위치에서 언제든지 수동 스냅 샷을 찍을 수도 있습니다. – JOM

답변

0

제공 한 코드에 메모리 관리에 문제가 없습니다. 누수가있는 경우 Apple 프레임 워크 나 코드의 다른 부분에 있습니다. 장치에서 테스트하고 있는지 확인하십시오. 일부 프레임 워크는 장치에서 훨씬 더 "연마"되어 있습니다.

+0

답장을 보내 주셔서 감사합니다. 아직 어떤 해결책을 찾지 못했습니다. 하지만 메모리 누수가 한 번 발생하고 누출을 제외하고 나쁜 영향을주지 않는 것 같습니다. 그래서이 문제를 무시했습니다. 애플은이 문제로 인해 내 앱을 거부하지 않았습니다. – tera

관련 문제