как да управлявате кеша на изображения в 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