在 Glide 4 中使用 AppGlideModule 中的 RequestOptions

2024-06-09

我使用了带有 AppGlideModule 的 Glide 库,库版本为 4.1.1。这是我的滑翔模块类:

@GlideModule
public class GlideUtil extends AppGlideModule {

    private final int IMAGE_CACHE_SIZE = 20 * 1024 * 1024; // 20 MB
    private final String IMAGE_FOLDER = "/User/Images";

    @Override
    public void applyOptions(Context context, GlideBuilder builder) {
        RequestOptions requestOptions = new RequestOptions();
        requestOptions.format(DecodeFormat.PREFER_ARGB_8888);
        requestOptions.diskCacheStrategy(DiskCacheStrategy.ALL);
        builder.setDefaultRequestOptions(requestOptions);
        InternalCacheDiskCacheFactory factory = new InternalCacheDiskCacheFactory(context, IMAGE_FOLDER, IMAGE_CACHE_SIZE);
        builder.setDiskCache(factory);

    }

    @Override
    public boolean isManifestParsingEnabled() {
        return false;
    }

这段代码成功运行。但是当我将 glide 库的版本更新到 4.3.1 时

compile 'com.github.bumptech.glide:glide:4.3.1' 
annotationProcessor 'com.github.bumptech.glide:compiler:4.3.1'

在 GlideUtil 类中我看到消息:“格式的结果未使用”,“diskCacheStrategy 的结果未使用”:

那么,如何解决这个问题呢?并执行方法diskCacheStrategy and format在 Glide 4.3.1 上工作吗?


问题是,您没有使用由返回的构建器对象format() http://bumptech.github.io/glide/javadocs/400/com/bumptech/glide/request/RequestOptions.html#format-com.bumptech.glide.load.DecodeFormat-,因此你的行为变得毫无意义,这就是 lint 警告你的原因。你可以see https://github.com/bumptech/glide/blob/master/library/src/main/java/com/bumptech/glide/request/RequestOptions.java#L878该方法注释为@CheckResult,这就是 lint 的理解,你走错了路,因为你是“不检查结果”由该方法返回。

而是执行以下操作:


    RequestOptions requestOptions = new RequestOptions();
    requestOptions = requestOptions.format(DecodeFormat.PREFER_ARGB_8888);
    requestOptions = requestOptions.diskCacheStrategy(DiskCacheStrategy.ALL);

现在警告就会消失。

或者您可以直接执行以下操作:


    builder.setDefaultRequestOptions(new RequestOptions()
                                        .format(DecodeFormat.PREFER_ARGB_8888)
                                        .diskCacheStrategy(DiskCacheStrategy.ALL));

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Glide 4 中使用 AppGlideModule 中的 RequestOptions 的相关文章

随机推荐

  • 在 Graphviz 中从记录元素的中心开始绘制出边

    在 Graphviz 中 是否可以从子记录的中心而不是边界开始绘制出边 这张图 http www linuxjournal com files linuxjournal com linuxjournal articles 072 7275
  • jhipster - 执行任务时出错:bower

    我在使用 gradle 构建基于 jhipster 的应用程序时遇到问题 它在任务 bower 上失败 我得到的确切错误是 gradlew bower debug 20 23 46 154 DEBUG org gradle api inte
  • bash后台进程修改全局变量

    在我的 Bash 脚本中 我有一个全局变量foo设置为某个值和函数过程back func这是在后台运行的 我希望后台进程能够访问foo并修改其值 以便主进程可以看到变化 我的脚本的结构如下 bin bash foo 0 function b
  • 使用矩阵代数来操作字符串:可行吗?

    我正在尝试使用矩阵代数来操作字符串 这意味着能够使用字符串或字符串数 组的串联和粘贴来实现多个类似矩阵的结构 我之前尝试在 R 上实现这个东西 但这是不可能的 因为矩阵只能有一维条目 我希望足够的与语言无关和抽象 但为了清楚起见 我将使用类
  • 如何从 XmlDocument() 上的 URL 加载 XML

    我有这个代码 string m strFilePath http www google com ig api weather 12414 hl it XmlDocument myXmlDocument new XmlDocument myX
  • VB6中VarType返回的vbError是什么?

    我一直在网上搜索这个 但一切都在谈论ErrObject类 或常量vbError由返回VarType功能 我想知道那个类型实际上是什么is 例如一个integer是这样的4 a string是这样的 hello world etc 对于一点背
  • 按文件创建日期排序(并枚举)目录列表?

    所以我有这个例程 public static IEnumerable
  • 如何从 .resx 文件条目获取注释

    资源文件中的字符串有名称 值和注释 The ResXResourceReader类让我可以访问名称和值 有办法看评论吗 你应该能够得到Comment via ResXDataNode class http msdn microsoft co
  • 将 WAR 部署到 tomcat docker 容器后总是收到 404

    我有一个 grails 应用程序 它已经运行并通过 Tomcat8 Jre8 上的 Elastic Beanstalk 部署到 AWS 我现在尝试将它部署在多 Docker 环境中 但我的行为非常奇怪 我在用tomcat 8 0 jre8
  • 当我的带有 Firestore 的 Flutter 应用程序从 Android 后台恢复时,查询速度非常慢

    使用颤振1 20 2 我的 Flutter 应用程序使用 Firestore 作为后端数据库 对于我正在使用的当前版本以及在该移动应用程序的整个开发过程中 我注意到 如果我的应用程序在后台运行一段时间 可能是几分钟 那么当我将应用程序带回前
  • 最好的 AutoHotKey 宏? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 工厂设计模式

    我正在尝试实现工厂设计模式 并且到目前为止已经做到了这一点 import abc class Button object metaclass abc ABCMeta html def get html self html return se
  • 无法在首页加载时在 Google Chrome 中使用 HTML5 和 getUserMedia() 从网络摄像头拍摄照片

    参考自这篇关于 HTML5Rocks 的文章 http www html5rocks com en tutorials getusermedia intro 我正在尝试构建一个实用程序来从网络摄像头拍照 下面是我的 HTML 代码片段
  • 使用 MVP 模式

    我有一个用 MVC 模式制作的 Web 应用程序 但是我正在尝试适应 MVP 模式 我正在使用 GWTPlatform 库 我已经将其中的一些代码迁移到了Presenter和View 然而 我还没有看到任何全面的材料来解释如何实际处理Mod
  • 远程连接 ArangoDB

    我尝试从我的电脑连接到位于另一台服务器上的 ArangoDB 但似乎不成功 然后我尝试使用通过输入服务器 IP 提供的 Web UI 来访问它http x x x x 8529 http x x x x 8529但也失败了 我在本地主机 A
  • 伪造文件系统/虚拟文件系统

    我有一个 Web 服务 用户可以将在服务器上运行的 python 脚本上传到该服务 这些脚本处理服务器上的文件 我希望它们能够仅看到服务器文件系统的特定层次结构 最好 一个临时文件夹 我在其中复制要处理的文件和脚本 该服务器最终将是基于 L
  • Javascript get Between 函数多个实例

    function getBetween content start end var r content split start if 1 in r var z r 1 split end return z 0 return 您好 我编写的函
  • 无法使用 API 获取的数据初始化 ngx-charts

    我在尝试初始化使用构建的图表时遇到了一些困难ngx 图表 https github com swimlane ngx charts使用API 获取数据 我构建了一个 REST API 在正确调用后 它会输出一些时间序列数据 prices i
  • 跨 HTML 窗口调用 Javascript 函数

    根据this https stackoverflow com questions 87359 can i pass a javascript variable to another browser window页面我应该能够调用子窗口的参数
  • 在 Glide 4 中使用 AppGlideModule 中的 RequestOptions

    我使用了带有 AppGlideModule 的 Glide 库 库版本为 4 1 1 这是我的滑翔模块类 GlideModule public class GlideUtil extends AppGlideModule private f