我使用Glide在我的Android应用程序中加载图像
3.5更新后,开发人员提供了GlideModule界面
根据{{3}}(磁盘缓存),我可以使用ExternalCacheDiskCacheFactory
方法和dependencies {
...
compile 'com.github.bumptech.glide:glide:3.6.1'
}
设置缓存目录。
但我没有看到任何区别。所有缓存仍在默认缓存目录中的内部存储上。
的build.gradle :
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application ...>
<meta-data
android:name="com.myapp.GlideConfig"
android:value="GlideModule" />
</application>
Android Manifest :
public class GlideConfig implements GlideModule {
@Override
public void applyOptions(Context context, GlideBuilder builder) {
String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state)) {
Log.e("GlideConfig", "MEDIA_MOUNTED");
builder.setDiskCache(
context.getString(R.string.app_name),
419430400));//400Mb
//Environment.getExternalStorageDirectory().getPath()
// + "/"
// + context.getString(R.string.app_name)
}
else {
Log.e("GlideConfig", "!MEDIA_MOUNTED");
}
}
@Override
public void registerComponents(Context context, Glide glide) {
}
}
GlideConfig.java :
...
-keepnames class * com.myapp.GlideConfig
proguard-rules.pro :
Glide.with(context)
.load("some_url")
.dontAnimate()
.centerCrop()
.override(100, 100)
.into(holder.iv_image);
使用进行滑行:
var wordList: WordList?
答案 0 :(得分:11)
设置值为GlideBuilder
的{{1}}您可以将ExternalStorageDirectory设置为缓存目录。
setDiskCache
希望对你有所帮助。