Android 使用Glide 报You cannot start a load for a destroyed activity异常

Fatal Exception: java.lang.IllegalArgumentException: You cannot start a load for a destroyed activity
       at com.bumptech.glide.manager.RequestManagerRetriever.assertNotDestroyed(RequestManagerRetriever.java:134)
       at com.bumptech.glide.manager.RequestManagerRetriever.get(RequestManagerRetriever.java:102)
       at com.bumptech.glide.manager.RequestManagerRetriever.get(RequestManagerRetriever.java:87)
       at com.bumptech.glide.Glide.with(Glide.java:620)
       at com.myapp.myapp$24.run(MyAppClass.java:977)
       at android.os.Handler.handleCallback(Handler.java:739)
       at android.os.Handler.dispatchMessage(Handler.java:95)
       at android.os.Looper.loop(Looper.java:135)
       at android.app.ActivityThread.main(ActivityThread.java:5431)
       at java.lang.reflect.Method.invoke(Method.java)
       at java.lang.reflect.Method.invoke(Method.java:372)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:914)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:707)

最简单的解决方式

try{
	GlideApp.with(this).load(imgurl).apply(RequestOptions.bitmapTransform(new CircleCrop())).error(R.drawable.error_icon).into(imageview);
}catch (Exception e){
	e.printStackTrace();
}

参考: https://github.com/bumptech/glide/issues/803

https://blog.csdn.net/qq_34650238/article/details/79976297

https://blog.csdn.net/guolin_blog/article/details/53939176

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Glide 是一个 Android 平台上的图片加载库,用于加载本地或网络上的图片。使用 Glide 可以方便地加载图片、GIF 图片、缩略图等,而且还支持图片缓存,可以提高图片加载速度。 以下是 Glide 的基本使用方法: 1. 添加依赖 在项目的 build.gradle 文件中添加以下依赖: ``` dependencies { implementation 'com.github.bumptech.glide:glide:4.12.0' annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0' } ``` 2. 加载图片 在代码中使用 Glide 加载图片: ``` Glide.with(context) .load("图片 URL 或本地图片路径") .into(imageView); ``` 其中,context 为上下文对象,imageView 为显示图片的 ImageView 控件。 3. 加载 GIF 图片 加载 GIF 图片同样很简单,只需要将图片的 URL 或本地路径传入 load() 方法即可: ``` Glide.with(context) .asGif() .load("GIF 图片 URL 或本地路径") .into(imageView); ``` 4. 加载缩略图 可以使用 Glide 加载缩略图,这样可以提高图片加载速度。以下是加载缩略图的示例代码: ``` Glide.with(context) .load("图片 URL 或本地图片路径") .thumbnail(0.2f) // 加载原图的 20% 作为缩略图 .into(imageView); ``` 5. 图片缓存 Glide 默认会对加载的图片进行缓存,可以使用以下代码设置缓存策略: ``` Glide.with(context) .load("图片 URL 或本地图片路径") .diskCacheStrategy(DiskCacheStrategy.NONE) // 禁用磁盘缓存 .skipMemoryCache(true) // 禁用内存缓存 .into(imageView); ``` 以上就是 Glide 的基本使用方法,可以根据实际需求进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值