首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

java.lang.IllegalStateException:不能在registerComponents()中调用Glide.get(),请改用提供的Glide实例-- Glide版本4.9.0

java.lang.IllegalStateException:不能在registerComponents()中调用Glide.get(),请改用提供的Glide实例-- Glide版本4.9.0

这个错误是由于在Glide的registerComponents()方法中调用了Glide.get()方法而引起的。在Glide版本4.9.0中,不再允许在registerComponents()方法中调用Glide.get()方法。

Glide是一个用于在Android应用中加载和显示图片的强大开源库。它提供了高效的图片加载和缓存机制,可以帮助开发者更好地管理和展示图片资源。

在解决这个问题之前,我们需要了解registerComponents()方法的作用。registerComponents()方法用于注册自定义的组件,例如自定义的ModelLoader或ResourceDecoder。在这个方法中,我们可以将自定义的组件与Glide关联起来,以便在加载图片时使用。

为了解决这个问题,我们需要改用提供的Glide实例。具体做法是通过Glide.with()方法获取Glide实例,然后使用该实例进行相关操作。以下是修改后的代码示例:

代码语言:txt
复制
GlideApp.with(context)
    .load(imageUrl)
    .into(imageView);

在上述示例中,我们使用GlideApp.with()方法获取Glide实例,并使用该实例加载图片并显示在imageView中。

需要注意的是,为了使用GlideApp.with()方法,我们需要在项目中配置Glide的代码生成器。具体配置方法可以参考Glide官方文档中的说明。

推荐的腾讯云相关产品:腾讯云对象存储(COS)

腾讯云对象存储(COS)是一种高可用、高可靠、安全、低成本的云存储服务,适用于存储和处理各种类型的非结构化数据,包括图片、音视频、文档等。它提供了简单易用的API接口和丰富的功能,可以满足各种存储需求。

腾讯云对象存储(COS)的优势包括:

  1. 高可用性和可靠性:腾讯云COS采用分布式存储架构,数据在多个设备上进行冗余存储,保证数据的高可用性和可靠性。
  2. 安全性:腾讯云COS提供了多种安全机制,包括数据加密、访问权限控制等,保障数据的安全性。
  3. 低成本:腾讯云COS提供了灵活的计费方式,按照实际使用量计费,可以降低存储成本。
  4. 强大的功能:腾讯云COS提供了丰富的功能,包括图片处理、音视频处理、数据迁移等,可以满足各种存储和处理需求。

更多关于腾讯云对象存储(COS)的信息和产品介绍,可以访问腾讯云官方网站:腾讯云对象存储(COS)

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Glide源码解析(一)

前言 Glide是一个快速高效Android图片加载库,注重于平滑滚动。Glide提供了易用API,高性能、可扩展图片解码管道(decode pipeline),以及自动资源池技术。...目前,在 Android 开发 Glide 算得上是图片加载框架佼佼者了。其巧妙设计和卓越性能令人赞叹不已。...Glide : https://github.com/bumptech/glide version : v4.9.0 Glide使用方法 Glide API 有很多,但是我们这里就挑最简单讲: Glide.with...而在 fragment ,有着 onStart() onStop() 生命周期监听。因此,Glide 就实现了在 Fragment 和 Activity 图片加载请求生命周期管理。...结束语 综上所述,Glide.with ,主要做事情有两件: Glide 单例初始化过程 Glide 请求生命周期管理 如果传入是 ApplicationContext ,得到就是 applicationManager

51420

Glide源码解析(一)

前言 Glide是一个快速高效Android图片加载库,注重于平滑滚动。Glide提供了易用API,高性能、可扩展图片解码管道(decode pipeline),以及自动资源池技术。...目前,在 Android 开发 Glide 算得上是图片加载框架佼佼者了。其巧妙设计和卓越性能令人赞叹不已。...Glide : https://github.com/bumptech/glide version : v4.9.0 Glide使用方法 Glide API 有很多,但是我们这里就挑最简单讲: Glide.with...而在 fragment ,有着 onStart() onStop() 生命周期监听。因此,Glide 就实现了在 Fragment 和 Activity 图片加载请求生命周期管理。...结束语 综上所述,Glide.with ,主要做事情有两件: Glide 单例初始化过程 Glide 请求生命周期管理 如果传入是 ApplicationContext ,得到就是 applicationManager

1K20

Glide生命周期原理

if (isInitializing) { throw new IllegalStateException("You cannot call Glide.get() in registerComponents...RequestManagerFragment是一个很重要类,Glide就是通过它作为生命周期分发入口,RequestManagerFragment默认构造函数会实例化一个ActivityFragmentLifecycle...RequestManagerRetriever构造时传入RequestManagerFactory工厂类实例化一个RequestManager, 把RequestManagerFragmentActivityFragmentLifecycle...监听手机网络状态变化广播,然后在connectivityReceiver调用isConnect进行网络状态确认,根据网络状态是否变化,如果有变化就回调监听ConnectivityMonitor.ConnectivityListener...如何监测内存 在Glide构造时候会调用registerComponentCallbacks进行全局注册, 系统在内存紧张时候回调onTrimMemory,然后根据系统内存紧张级别进行memoryCache

79230

— 1.Glide初始化

Glide提供了非常便捷链式调用接口,以及丰富拓展和自定义功能,开发者可以非常简单地对框架进行配置和图片再加工。...如有不对地方,欢迎指正~ 那么接下来,我们就先看看Glide是如何进行框架初始化。 注意:本文源码版本为v4.6.1,不同版本可能存在一些差异! 二、Glide.with发生了什么? 1....我们重点来看Glide.get(context) 这里是一个典型双检锁单例模式。...接着以上代码,Glide将逐个调用剩下GlideModule,并回调applyOptions和registerComponents接口,这时,用户配置GlideModule就会被调用,同时用户设置参数也就被配置到...在以上代码,发现一句代码,在回调registerComponents前,首先构建了glide实例。 这是一句非常重要代码,整个Glide框架最重要初始化内容都在其中实现。

92840

Android图片加载框架最全解析(六),探究Glide自定义模块功能

然而事实上,Glide类确实是有创建实例,只不过是在内部由Glide自动帮我们创建和管理了,对于开发者而言,大多数情况下是不用关心它,只需要调用静态方法就可以了。...现在继续回到Glideget()方法,得到了Glide对象实例之后,接下来又通过一个循环调用了每一个GlideModuleregisterComponents()方法,在这里我们可以加入替换Glide...其实道理很简单,因为load(String)方法只是Glide给我们提供一种简易API封装而已,它底层仍然还是调用GlideUrl组件,因此我们在替换组件时候只需要直接替换最底层,这样就一步到位了...如果对OkHttp不需要进行任何自定义配置,那么就调用无参Factory构造函数即可,这样会在内部自动创建一个OkHttpClient实例。...下篇文章,我们将会利用本篇文章中学到知识,对Glide进行一个高级功能扩展,感兴趣朋友继续阅读 Android图片加载框架最全解析(七),实现带进度Glide图片加载功能 。

1.9K81

Carson带你学Android:最全面解析图片加载库Glide用法

,即缓存转换后图片) // DiskCacheStrategy.RESULT:只缓存转换后图片(即最终图像:降低分辨率后 / 或者转换后 ,缓存原始图片 设置跳过内存缓存 Glide .with...清理缓存 Glide.get(this).clearDiskCache();//清理磁盘缓存 需要在子线程执行 Glide.get(this).clearMemory();//清理内存缓存 可以在UI...类型影响到Glide加载图片优化程度 Glide可以监视Activity生命周期,在Activity销毁时候自动取消等待请求。...Demo实例 没有Demo代码讲解不是好文章,让我们来一步步学会使用Glide。...(Url) .into(targetImageView); 还有具体其他功能需要配置自己按照我上面写进行配置就好了~ 这里再贴上GlideGithub地址:点击这里

82520

Glide4.0源码全解析(一),GlideAPP和.with()方法背后故事

前言 在上一篇文章我们体验了Glide-4.0强大,以及更加简便API,很多童鞋已经开始迁移了,那么接下来我们一起探索一下他神奇之处: 首先我们来看一下4.0基本用法: GlideApp.with...准备 想要阅读源码那么久需要先下载源码, GitHub地址: https://github.com/bumptech/glide 我们这一篇是基于4.1.0讲解,后续如果想查看这个版本代码可以通过下面的链接...GlideApp这个类事通过上面的注解获得到,是不容许被修改,是Glide在应用入口,做一些初始化,获取图片存储路径之类,非常简单,注释也非常清楚,就不详细叙述了。...()方法传入是一个Application对象,那么这里就会调用上面的get()方法重载,最后来获取一个RequestManager对象。...通过上图我们会发现不论传入Activity、FragmentActivity、Fragment最终都会调用图中红框方法,而这两个方法最终流程都是一致就是那就是会向当前Activity当中添加一个隐藏

1.2K20

Glide 4.0.0 RC0 使用详解

如果没有发现稳定性或API重大问题,预计不久之后就会发布非RC版本。 3.发布时间表 Glide在过去采取了一种相当随意方式发布,主要是因为在空闲时候采取做。...未来,Glide有望尝试提供定期发布: 每个月15日左右发行(确切日期可能有所不同) 只有在前版本没有更改情况下才会跳过此版本。 只有在主要版本升级时候才会去更改API。...-4.0.0-RC0.jar 582 KB Source code (zip) Source code (tar.gz) 更多下载移步官网:Glide 4.0.0 RC0 官方说明 从V3迁移到...在Glide v3,选项是由一系列复杂多类型构建器单独处理。在Glide v4,这些已被具有单一类型单个构建器和可以提供给构建器一系列选项对象所替代。...RequestBuilder提供了影响加载过程本身选项,比如要加载类型(url, uri etc),任何 thumbnail()和listener()请求,RequestBuilder也提供在哪里开始加载方法

1K40

Glide源码阅读理解一小时

//通过实例化一个新对象或利用Activity和Fragment生命周期内置处理功能进行检索,对Fragment或Activity使用静态Glide.load方法。...: 回调线程池,在主线程执行回调; 生成Request 实例为 SingleRequest,它是专门为了Target而加载资源。...ThumbnailRequestCoordinator :一个协调器,用于协调两个单独Request,它们同时加载图像小缩略图版本和图像完整尺寸版本。...) { //添加到请求容器 requests.add(request); //如果当前RequestManager处于暂停状态,那么直接开始请求 if (!...> fetcher, DataSource dataSource, Key attemptedKey) { // 此数据提取程序将从文件中加载并提供错误数据源,因此覆盖使用原始提取程序数据源

2.4K10

Android图片加载框架最全解析(三),深入探究Glide缓存机制

不过,上一篇文章只能说是比较粗略地阅读了Glide整个执行流程方面的源码,搞明白了Glide基本工作原理,但并没有去深入分析每一处细节(事实上也不可能在一篇文章深入分析每一处源码细节)。...return glide; } ... } 这里我们还是只看关键,在第11行去构建ModelLoader对象时候,先调用了一个Glide.get()方法,而这个方法就是关键。...,调用getDiskCache()方法获取到就是Glide自己编写DiskLruCache工具类实例,然后调用get()方法并把缓存Key传入,就能得到硬盘缓存文件了。...而在这个方法同样调用了getDiskCache()方法来获取DiskLruCache实例,接着调用put()方法就可以写入硬盘缓存了,注意原始图片缓存Key是用resultKey.getOriginalKey...先是在第3行调用transform()方法来对图片进行转换,然后在writeTransformedToCache()方法中将转换过后图片写入到硬盘缓存调用同样是DiskLruCache实例put

2.4K100

Android图片加载框架最全解析(八),带你全面了解Glide 4用法

那个时候因为我一直研究都是Glide 3.7.0版本,再加上RC版本还不太稳定,因此整个系列也都是基于3.7.0版本来写。...而现在,Glide最新版本已经出到了4.4.0,可以说Glide 4已经是相当成熟和稳定了。...当然可以,Glide提供了各种各样非常丰富API支持,其中就包括了占位图功能。 顾名思义,占位图就是指在图片加载过程,我们先显示一张临时图片,等图片加载出来了再替换成要加载图片。...而DiskCacheStrategy.AUTOMATIC是Glide 4新增一种缓存策略,并且在指定diskCacheStrategy情况下默认使用就是的这种缓存策略。...自定义模块 自定义模块属于Glide高级功能,同时也是难度比较高一部分内容。 这里我不可能在这一篇文章中将自定义模块内容全讲一遍,限于篇幅限制我只能讲一讲Glide 4变化这部分内容。

2.5K70

Android基于Glide v4.x图片加载进度监听

Glide是一款优秀图片加载框架,简单配置便可以使用起来,为开发者省下了很多功夫。不过,它没有提供其加载图片进度api,对于这样需求,实现起来还真颇费一番周折。...Glide加载图片实现进度条效果 可惜,这个实现是基于3.7版本,4.0版本以上glide改动比较大,using函数已经被移除了 using() The using() API was removed...glide官方仓库提供了OkHttp整合模块,于是乎我去这些代码了寻找一下突破口。...这里直接得到图片InputStream然后通过回调函数callback.onDataReady()返回了 问题来了,callbackglide框架里传过来,我们并不能控制,我尝试找了一下调用loadData...(glide提供了图片加载完毕回调)。

1.5K31
领券