2016-07-09 2 views
1

Я использую imageView.af_setImageWithURL(URL), и он отлично работает. Я ничего не делаю с помощью фильтров изображений, и я увидел эту записку:Как наиболее легко установить объем памяти NSURLCache в ноль с помощью AlmofireImage?

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

Какой чистый или минимальный способ выполнить это с расширением UIImage?

ответ

2

Ваш ответ будет, конечно, работать. Вот еще один подход, который не требует, чтобы вы создали свой собственный ImageDownloader.

let downloader = UIImageView.af_sharedImageDownloader 
let configuration = downloader.sessionManager.session.configuration 
configuration.URLCache?.memoryCapacity = 0 

Это приведет к тому же, без необходимости создавать какие-либо новые экземпляры.

0

Пытаюсь следующее:

// From https://github.com/Alamofire/AlamofireImage - "If you do not use image filters, it is advised to set the memory capacity of the NSURLCache to zero to avoid storing the same content in-memory twice." 
// Note: We're making an educated guess that NSURLCache does not allocate the memory capacity when it's created.. it just uses it as an upper bound. So we'll let ImageDownloader create the session configuration it wants, then we'll just set the memory capacity on its url cache to 0 as suggested. 
let configurationWithNoMemoryCapacityOnURLCache = ImageDownloader.defaultURLSessionConfiguration() 
configurationWithNoMemoryCapacityOnURLCache.URLCache?.memoryCapacity = 0 

UIImageView.af_sharedImageDownloader = ImageDownloader(
    configuration: configurationWithNoMemoryCapacityOnURLCache 
) 
Смежные вопросы