2016-04-18 9 views
1

PromiseKitAlamofireと一緒にAlamofireImageを使用します。私はこれを同期してやりたいので、x個の画像を連鎖させることを約束しています。 ImageDownloader()が自動的にキャッシュされているのか、イメージをキャッシュに明示的に追加する必要があるのか​​分かりません。私が今まで見た唯一の例はImageDownloaderを使用していないので、私はこれに対する答えを見つけるのに苦労します。AlamofireImageキャッシュ?

もしそうでなければ、キャッシュをどのように追加しますか?私が使って試してみた:

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

しかし、それはないすべては、すべての永遠のための私のメモリ使用量を増やす(つまり何度もキャッシュに同じ画像を追加する)

答えて

0

である私はAutoPurgingImageCacheを(定義すると思います)キャッシングプロセスでメモリ使用量の問題を解決する必要がある場合に使用します。

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

あなたはメモリ容量、はMBを表すpreferredMemoryUsageAfterPurgeを変更することができます。あなたのキャッシュ内のすべての画像を追加するには、そのように使用することができます:

photoCache.addImage(scaledImage, withIdentifier: urlString) 

また、あなたはより多くの詳細とAlamofireImage GitHubページのthis topicを確認することができます。

関連する問題