Во-первых, я не совсем уверен, является ли это проблемой AFNetworking или CFNetwork.
Я использую AFNetworking в приложении для iOS, которое загружает тысячи изображений. Это реализуется с помощью NSMutableURLRequest, AFHTTPRequestOperation (с AFHTTPResponseSerializer), NSOperationQueue (для параметра maxConcurrentOperationCount в NSOperationQueue установлено значение 8, кстати).
что я вижу, так это то, что пока эти изображения загружаются с сервера, объем памяти моего приложения значительно увеличивается. Используя распределения в инструментах (XCode5), похоже, что большая часть памяти уходит в CFData в HTTPProtocol::bytesAvailable в CFNetwork.
Хотя я ничего не знаю о CFNetwork, я просто предполагаю, что пока изображения загружаются, некоторые CFData не освобождаются, что приводит к временному накоплению большого количества памяти.
Просто для ясности, эта память в конечном итоге освобождается, где-то, каким-то образом, поскольку я вижу, что объем памяти в инструментах через некоторое время уменьшается, но меня беспокоит то, что происходит во время загрузки изображений.
Странно то, что с maxConcurrentOperationCount=8 можно подумать, что одновременно загружается не более 8 изображений...
Является ли это проблемой, с которой сталкивались другие, и если да, то как ее исправить? можно ли настроить AFNetworking таким образом, чтобы этого не происходило?
Спасибо.