2013-09-12 2 views
1

Я хочу иметь возможность контролировать, сколько времени изображение хранится в кеше. Это, как я загрузить изображение с помощью afnetwork:Конфигурирование задержки afnetwork хранит изображения

[myImageView setImageWithURL:url placeholderImage:placeHolder]; 

Я посмотрел его в документации, я не нашел ничего интересного.

любой ключ?

EDIT: Дополнительный вопрос: есть ли кэш, хранящийся на диске? я так думаю, потому что изображения остаются в кеше даже после закрытия приложения. но я не уверен.

ответ

2

AFNetworking использует экземпляр NSCache, который будет хранить все больше и больше изображений в памяти до получения предупреждения о памяти, после чего он удалит некоторые или все сообщения. NSCache не сохраняется на диске.

AFNetworking также использует NSURLCache, который кэширует URL-ответы на диск на основе (1) ваших настроек NSURLRequest и (2) заголовков кеша, отправленных HTTP-сервером. Вы можете настроить поведение кэширования в своем приложении, установив NSURLRequestCachePolicy и на свой сервер, установив заголовки кеша.

Если это не дает вам достаточного контроля, вы можете проверить SDURLCache, альтернативу NSURLCache с открытым исходным кодом.

+0

Вы можете взглянуть на это http://petersteinberger.com/blog/2012/nsurlcache-uses-a-disk-cache-as-of-ios5/? В нем говорится, что поведение по умолчанию на ios 5 - это сохранение на диск. Кроме того, я взглянул на ссылки, которые вы мне дали, но я не могу найти, как хранить кеш-память на диске. Является ли это возможным? – maroxe

Смежные вопросы