как управлять кешем изображений в ios при использовании 2 библиотек кэширования

Я использую изображение SDWebImage, загруженное в качестве загрузчика изображений по умолчанию, я также использую AZAPreviewController для отображения изображений в полноэкранном режиме.

AZAPreviewController использует собственную папку кеша для хранения кешей для одних и тех же изображений, но изображения не отображаются в iOS-8 при попытке извлечения для AZAPreviewItem.

Может ли кто-нибудь помочь мне в этом или кто-нибудь может предложить лучший контроллер предварительного просмотра (полноэкранный просмотрщик изображений) с поддержкой iOS8. Заранее спасибо.


person Esha    schedule 25.09.2014    source источник


Ответы (1)


Контроллер AZAPreview и SDWebImage имеют разные механизмы работы.

AZAPreviewController использует QLPreviewcontroller ios в качестве суперкласса, который сохраняет изображения в виде файла с расширением в каталоге документов. Если он существует, напрямую извлеките изображение из каталога, в противном случае загрузите его по URL-адресу и сохраните в каталоге документов.

В то время как SDWebImage сохраняет изображения как NSDATA и хранит данные в папке каталога. При загрузке любого изображения извлеките данные и преобразуйте их в UIImage.

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

Я нашел один контроллер предварительного просмотра [MWPhotos][1], который использует SDWebImage в качестве своей вспомогательной библиотеки для загрузки изображений, которые НЕ создают конфликтов при хранении данных и лучше сохраняют меньше памяти для кэширования.

Итак, решите использовать MWPhotoBrowser, когда нам требуется контроллер предварительного просмотра с SDWebImage в качестве библиотеки кэширования.

Эталонный проект MWPhotoBrower: [1]: https://github.com/mwaterfall/MWPhotoBrowser

Спасибо.

person Esha    schedule 21.11.2014