2013-01-24 3 views
2

나는 UICollectionViewCell을 가지고 있는데, 여기에는 UIImageView abd가 있습니다. AFNetworking UIImageView 카테고리를 사용하여 이미지를로드하는 데 도움이됩니다. 내 앱의 프로파일을 작성한 결과, 메모리 스파이크가 정상에 오르는 것으로 보입니다. 할당 도구 아래에서 Instruments를 통해 프로필을 작성한 후에도 계속 증가하고 계속 증가하고 있습니다.AFNetworking 메모리 사용량 스파이크를 디버그

enter image description here

나는이 문제를 해결하려면 여기를 어떻게 무슨 일이 있었는지 모르겠습니다. 셀은 항상 재사용되고 있지만 이러한 이미지가 캐시 또는 다른 것으로부터 제거되지 않을 수도 있습니다. 여기에 내가 그것을 사용하고 방법에 대한 몇 가지 코드는 아주 간단합니다,의 :

NSURLRequest *imageURLRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:imageURLString] cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:30]; 

    [self.imageView_ setImageWithURLRequest:imageURLRequest placeholderImage:nil success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image) { 
     weakSelf.imageView_.image = image; 
     weakSelf.imageView_.alpha = 0.0; 
     [UIView animateWithDuration:0.3 animations:^{ 
      weakSelf.imageView_.alpha = 1.0; 
     }]; 

    } failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error) { 

    }]; 

내가 이미지를 다운로드하려면이 코드를 제거하면, 메모리 풋 프린트 방법 작다. 무슨 일이 일어 났는지에 대한 어떤 생각?

+0

(RAM) 다운로드 한 이미지를 보관하려면 "디스크"에 파일을 열고받은 모든 내용을 해당 파일에 추가하십시오. RAM을 많이 사용하지 않습니다. – nielsbot

+0

에 직접 스트리밍 고려해 볼 수 있습니다 – adit

+0

을 플래시 스토리지 ... – nielsbot

답변

1

시도는 메모리 사용 autoreleasepool에 싸서 확인

@autoreleasepool { 
    // Code that creates autoreleased objects. 
} 
당신도 어떤 의미가 있는지? \ 대신 메모리를 할당하는 수단
+0

(비동기 콜백/수신 데이터 처리 루프에서) – nielsbot