2016-04-18 8 views
1

Ich verwende AlamofireImage in Verbindung mit PromiseKit und Alamofire. Ich verwende Versprechungen, um den Download von x Anzahl von Bildern zu verketten, da ich das synchron machen möchte. Ich kann nicht verstehen, ob ImageDownloader() automatisch zwischenspeichert oder wenn ich das Bild explizit dem Cache hinzufügen muss? Die einzigen Beispiele, die ich bisher gesehen habe, sind nicht die ImageDownloader, so dass es mir wirklich schwer fällt, eine Antwort darauf zu finden.AlamofireImage-Cache?

Wenn nicht - wie füge ich es den Cache hinzu? Ich habe versucht mit:

self.imageDownloader.imageCache?.addImage(image, withIdentifier: imageUrl) 

Aber es tut, ist meine Speichernutzung für alle Ewigkeit zu erhöhen (dh Zugabe des gleichen Bildes in den Cache über und über)

Antwort

0

Ich denke, dass die Definition eines AutoPurgingImageCache() und dann verwenden Sie es während des Caching-Prozesses, um Ihr Speicherproblem zu lösen.

let photoCache = AutoPurgingImageCache(
    memoryCapacity: 100 * 1024 * 1024, 
    preferredMemoryUsageAfterPurge: 60 * 1024 * 1024 
) 

können Sie memoryCapacity, ändern preferredMemoryUsageAfterPurge MB repräsentieren. So fügen Sie ein beliebiges Bild in Ihrem Cache, können Sie so verwenden:

photoCache.addImage(scaledImage, withIdentifier: urlString) 

Sie können auch this topic überprüfen, um weitere Informationen und AlamofireImage GitHub Seite.