2012-07-30 52 views
5

我正在製作一個應用程序,它將從Web服務中獲取圖片資源和文本。我選擇偉大的AFNetworking的UIImageView + AFNetworking類別來處理圖像下載的東西。AFNetworking內存分配不斷上升

但是,我正面臨內存問題。我用分配工具的儀器,發現每次我加載更多的圖像時,總會有內存分配的增長,1-2 MB的大小。我追蹤了源代碼,結果證明它位於AFNetworking的代碼中。

的代碼的確切行是:

- (void)connectionDidFinishLoading:(NSURLConnection *)__unused connection { 
    self.responseData = [self.outputStream propertyForKey:NSStreamDataWrittenToMemoryStreamKey]; 

    [self.outputStream close]; 

    [self finish]; 

    self.connection = nil; 
} 

這將佔據存儲器分配的99.6%。在項目

我的用戶ARC,顯示一個UITableView中的UIImageViews和配置類似下面的代碼的單元格:

[self.imageView setImageWithURLRequest:request 
          placeholderImage:nil 
            success:successBlock 
            failure:failBlock]; 

任何一個可以提供有關存儲問題的一些想法?一旦分配了內存,這真的是頭痛的問題,即使我清除了整個圖像視圖,它們也不會被清除。一段時間後,我的應用程序將從佔用超過100MB的實際內存使用量窗口儀器

任何幫助將不勝感激!提前致謝!!

+0

我剛剛開通了一個問題:https://github.com/AFNetworking/AFNetworking/issues/509 – rodowi 2012-09-12 00:18:39

回答

1

可以清除圖像的緩存。有一個關於它在github的討論在這裏:

AFNetworking Image Cache

可能會或可能不會解決你的問題。我想象一下,定期清理緩存應該會讓你的內存使用量減少。