2017-05-17 7 views
-1

私はすべてのネットワーク接続にvolleyを使用しています。画像キャッシュについても、画像をダウンロードするためにボレーを使用しています。Android - ボレーを使用した画像キャッシュ

我々は、画像をキャッシュするクラスの下に使用している -

public class BitmapCache extends LruCache<String, Bitmap> implements 
     ImageCache { 
    public static int getDefaultLruCacheSize() { 
     final int maxMemory = (int) (Runtime.getRuntime().maxMemory()/1024); 
     final int cacheSize = maxMemory/8; 
     return cacheSize; 
    } 

    public BitmapCache() { 
     this(getDefaultLruCacheSize()); 
    } 

    public BitmapCache(int sizeInKiloBytes) { 
     super(sizeInKiloBytes); 
    } 

    @Override 
    protected int sizeOf(String key, Bitmap value) { 
     return value.getRowBytes() * value.getHeight()/1024; 
    } 

    @Override 
    public Bitmap getBitmap(String url) { 
     return get(url); 
    } 

    @Override 
    public void putBitmap(String url, Bitmap bitmap) { 
     put(url, bitmap); 
    } 
} 

をしかし、問題は、再び同じ画像をダウンロードする際に、我々は明らかアプリフォームアプリスタック(アプリを殺す)、ボレーということです。私はイメージキャッシュをクリアするまでそれをやりたかったので、アプリケーションファイルの場所に保存する必要があります(sdcardストレージを使いたくない)。 DiscLruCacheを使用していない使用しているボレーライブラリ。私はDiscLruCacheについて多くの記事を聞いたことがありますが、既に使用しているボレーライブラリを変更しないように私が制限しているので、私たちがどのように使用できるのか分かりません。

+0

のに役立ちます –

答えて

関連する問題