gpt4 book ai didi

android - Glide 。缓存到外部存储(SD 卡)

转载 作者:可可西里 更新时间:2023-11-01 18:47:02 25 4
gpt4 key购买 nike

我使用 Glide用于在我的 android 应用程序中加载图像。
3.5更新后开发者提供GlideModule界面。
根据this article (磁盘缓存)我可以使用 setDiskCache 方法和 ExternalCacheDiskCacheFactory 设置缓存目录。
但我看不出有什么区别。所有缓存仍在默认缓存目录中的内部存储中。


build.gradle:

dependencies {
...
compile 'com.github.bumptech.glide:glide:3.6.1'
}

Android list :

<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>

GlideConfig.java:

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) {
}
}

proguard-rules.pro:

...
-keepnames class * com.myapp.GlideConfig

Glide 用法:

Glide.with(context)
.load("some_url")
.dontAnimate()
.centerCrop()
.override(100, 100)
.into(holder.iv_image);

最佳答案

设置 GlideBuilder 的值为 setDiskCache 您可以将 ExternalStorageDirectory 设置为缓存目录。

  if (!Glide.isSetup()) {
GlideBuilder gb = new GlideBuilder(this);
DiskCache dlw = DiskLruCacheWrapper.get(new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/YourCacheDirectory/"), 250 * 1024 * 1024);
gb.setDiskCache(dlw);
Glide.setup(gb);
}

检查 Can't set GlideBuilder

希望对你有帮助。

关于android - Glide 。缓存到外部存储(SD 卡),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34253434/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com