gpt4 book ai didi

android - 如果在首选项中设置,则告诉 Glide 不要加载图像

转载 作者:太空宇宙 更新时间:2023-11-03 12:45:10 25 4
gpt4 key购买 nike

我的应用程序中有几个 RecyclerView,它们都有一个 ImageView 的项目,这些项目进一步填充了 Glide,像这样:

Glide.with(context)
.load(imageUrl)
.asBitmap()
.error(R.drawable.placeholder_avatar)
.centerCrop()
.into(mAvatarImageView);

在我的首选项屏幕中,用户可以禁用所有远程图像的加载以节省带宽。如果没有在所有 RecyclerView 适配器中使用经典的 if-else 条件,告诉 Glide 不要加载图像的最佳方法是什么,这违反了 DRY 原则?

我正在寻找这样的方法:

.shouldLoad(UserSettings.getInstance().isImageLoadingEnabled());

最佳答案

假设您使用的是 Glide v4,有一个专门为此目的设计的请求选项:RequestOptions.onlyRetrieveFromCache(boolean flag)。启用后,仅加载内存或磁盘缓存中已存在的资源,有效防止网络加载并节省带宽。

如果你使用 Glide v4 Generated API,这个选项在 GlideApp.with(context).asBitmap() 返回的 GlideRequest 上直接可用。否则,您必须创建启用此标志的 RequestOptions应用它:

RequestOptions options = new RequestOptions().onlyRetrieveFromCache(true);
Glide.with(context).asBitmap()
.apply(options)
.error(R.drawable.placeholder_avatar)
.centerCrop()
.into(mAvatarImageView);

关于android - 如果在首选项中设置,则告诉 Glide 不要加载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47992536/

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