2017-09-08 19 views
0

documentationGlide androidでキャッシュサイズを増やす方法は?

によると、内部キャッシュの工場は、アプリケーションの内部キャッシュディレクトリ内のディスクキャッシュを配置し、250メガバイトの最大サイズを設定します。

私のアプリでいくつかのオフライン機能を実装しようとしているため、250 MBを超えるキャッシュサイズが必要になる可能性があります。グライドはキャッシュサイズを変更することができますか、これを行う代替方法を見つける必要がありますか?もしそうなら、私はどのような仕組みに従うべきですか?

私はdocumentationでそれを増やす方法を見てきました。

builder.setDiskCache(
new InternalCacheDiskCacheFactory(context, yourSizeInBytes)); 

私のコードにどのように実装すればよいですか?

+0

のようにそれを追加。 – ianhanniballake

+0

はい、どうですか?それをどこで実装するのですか? – Aveek

+1

https://stackoverflow.com/a/28738237/3364266このリンクをチェックしてください –

答えて

0

hereを参照してください。

InternalCacheDiskCacheFactoryを使用してディスクキャッシュのサイズを設定できます。

builder.setDiskCache(new InternalCacheDiskCacheFactory(context, yourSizeInBytes)); 

あなたは以下のように、このプロジェクトに適用することができます。

import android.annotation.TargetApi; 
import android.content.Context; 
import android.os.Build; 
import android.os.Environment; 
import android.os.StatFs; 
import android.util.Log; 

import com.bumptech.glide.Glide; 
import com.bumptech.glide.GlideBuilder; 
import com.bumptech.glide.load.engine.cache.InternalCacheDiskCacheFactory; 
import com.bumptech.glide.module.GlideModule; 
import com.example.MyApplication; 

import java.util.Locale; 

public class LimitCacheSizeGlideModule implements GlideModule { 

    @Override 
    public void applyOptions(Context context, GlideBuilder builder) { 
     if (MyApplication.from(context).isTest()) 
      return; // NOTE: StatFs will crash on robolectric. 
     builder.setDiskCache(new InternalCacheDiskCacheFactory(context, yourSizeInBytes)); 

    } 

    @Override 
    public void registerComponents(Context context, Glide glide) { 
    } 


} 

、その後、あなたのマニフェストにそれは文字通り文書の次の行でこの

<manifest 

    ... 

    <application> 

     <meta-data 
      android:name="YourPackageNameHere.LimitCacheSizeGlideModule" 
      android:value="GlideModule" /> 

     ... 

    </application> 
</manifest>  
関連する問題