[英]CFNetwork large memory footprint while downloading images
首先,我不確定這是AFNetworking問題還是CFNetwork。
我在下載成千上萬張圖片的iOS應用中使用AFNetworking。 這是通過NSMutableURLRequest,AFHTTPRequestOperation(帶有AFHTTPResponseSerializer),NSOperationQueue(NSOperationQueue上的maxConcurrentOperationCount設置為8 btw)來實現的。
我所看到的是,當這些圖像從服務器下載時,我的應用程序的內存占用顯着增加。 使用工具(XCode5)中的分配,看起來很多內存都流向了CFNetwork中的HTTPProtocol :: bytesAvailable中的CFData。
雖然我對CFNetwork一無所知,但我只是在猜測正在下載映像時,某些CFData並未釋放,這導致了大量內存的臨時積累。
需要明確的是,該內存最終以某種方式釋放,在某種程度上,正如我看到一段時間后在Instruments中的內存占用量下降一樣,但是我擔心的是圖像下載時發生了什么。
奇怪的是,在maxConcurrentOperationCount = 8的情況下,您可能認為一次最多只能下載8張圖像...
這是其他人遇到的問題嗎?如果是,如何解決? 可以以某種方式配置AFNetworking以免發生這種情況嗎?
謝謝。
AFNetworking具有操作隊列,您可以如下設置最大並發操作數:
[[requestOperationManager operationQueue] setMaxConcurrentOperationCount:5];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.