1

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

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

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

ответ

2

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

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

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

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

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

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

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

Спасибо.