解决-Glide You cannot start a load for a destroyed activity

Android 使用Glide 报You cannot start a load for a destroyed activity异常 最近测试在测试的时候发现项目在返回的时候偶现崩溃现象,经过抓日子发现是Glide加载图片时所报的错误,根据错误信息提示意思指Glide在加载的过程中activity被销毁掉了,导致程序崩溃。我们都知道Glide加载机制是与Fragment和Activity生命周期息息相关,在Glide中,图片的加载会跟随这Activity或者Fragment的生命周期进行相应的加载,停止等操作。 阅读详情
  • 复现步骤
    在Activity的onResume()中使用Glide加载一张背景图片,Glide.with(this).load(url).into(backgroundView)
    然后快速的退出重进这个Activity,多操作几次,应用就Crash,并报java.lang.IllegalArgumentException: You cannot start a load for a destroyed activity

  • 分析
    根据日志,Glide在调用Glide.with(this)执行这行代码时,Activity已经被销毁了,所以Glide抛出了这个异常。
    Glide认为,如果一个Activity被销毁了,就不应该再去加载图片。对于已经在队列中的请求,如果我们使用的是Glide.with(Activity/Fragment),那么Glide会根据Activity/Fragment的生命周期,自动暂停或者取消。如果使用Glide.with(ApplicationContext),Glide并不会绑定Activity/Fragment的生命周期,及时Activity被销毁,仍然会去加载。关于这点的解释,可以看https://stackoverflow.com/questions/31964737/glide-image-loading-with-application-context/32887693#32887693。

  • 解决办法
    在调用Glide加载之前增加判断
    if(activity != null && !activity.isFinishing()){//加载图片}

    想看关于这个问题的讨论,可以点击https://github.com/bumptech/glide/issues/803

Android HWC硬件合成器实战:从SurfaceFlinger到显示驱动的完整流程解析 本文深入解析Android HWC硬件合成器从SurfaceFlinger到显示驱动的完整流程,揭示HWC如何优化图形性能并降低功耗。通过实战案例和调试技巧,帮助开发者掌握硬件加速的图层混合技术,提升移动设备的显示效率。 阅读详情

相关推荐

从零开始学嵌入式之STM32——1.什么是STM32

它是ST公司推出的一系列单片机的统称。ST----指的是ST公司----意法半导体。意法半导体,成立于1987年,是由意大利的SGS微电子公司和法国的Thomson半导体公司合并而成。ARM目前主要是ARM架构处理器及外围组件的电路设计方案,知识产权授权的形式收取费用,其他公司根据ARM的方案设计出CPU产品。,它以应用为核心,软硬件可裁剪,旨在实现对设备的控制、监测或辅助功能,区别于通用计算机(如 PC、服务器)的 “一机多用” 属性。在嵌入式领域,目前主流的是cortex-M3内核推出的芯片。

qshdyy的博客 1856

Glide 问题 You cannot start a load for a destroyed activity

基本使用: Glide.with(context).load(imageUrl).into(imageView); 出现“You cannot start a load for a destroyed activity”情景是: 像三方服务器请求图片时,在请求网络过程中,关闭了activity,会报此错。 原因是: 主要出在context 上,因为虽然关闭了activity,但网络成功的回调执行回来后,拿到图片地址,再使用glide加载图片时,activity却已经finish了~ 看glide的源码:

NewActivity的博客 8053

AI 代码赋能短视频带货:服装及多赛道批量内容生产全流程实操

本文聚焦 AI 技术在短视频带货领域的落地应用,以服装赛道为核心,延伸至花卉绿植、图书、茶具等热门领域,系统拆解 AI 工具在选品、素材处理、视频制作(含动态效果、场景搭建)、运营优化等环节的实操方法。针对从业者普遍面临的 “内容生产低效”“无专业技术难出优质视频”“流量运营踩坑” 等痛点,提供从基础工具使用到高阶视频制作的全流程技术方案,助力相关从业者借助 AI 实现批量、高效的短视频内容产出。

m0_67958922的博客 3084

Glide异常:You cannot start a load for a destroyed activity

Glide异常:You cannot start a load for a destroyed activity。 Rxjava doFinally()方法被调用的时机问题

bigfc的博客 1515

AI时代敏捷开发新范式——意图驱动开发IDD

具体的功能代码、单元测试、集成测试用例,以及最终可运行的、支持PlantUML的Markdown转Word工具新版本。:业务方(如技术文档团队)反馈,现有的Markdown转Word工具在处理包含PlantUML代码块的文档时,无法正确生成图表,导致技术方案、架构图等关键信息丢失,严重影响了文档交付质量和团队效率。这不仅带来了交付周期显著缩短、资源效能倍增的可观收益,更深远的意义在于,它描绘了未来软件工业化、智能化的新图景:一个由精准意图驱动、AI自主执行、人类智慧引领的敏捷、高效、高质的新世界。

LiuJunjiang的专栏 557

ipsec 加密流程(一):ipsec策略匹配

《openswan》专栏系列文章主要是记录openswan源码学习过程中的笔记。 Author: Toney Email: vip_13031075266@163.com Date: 2020.11.22 Copyright: 未经同意不得转载!!! Version:2.6.51.5 Reference:https://download.openswan.org/openswan/ 1. ipsec策略匹配流程(ipsec_tunnel_start_xmit) 注:open...

遇见你是我最美丽的意外 9122

Android问题笔记三十一:修正Glide的You cannot start a load for a destroyed activity异常问题

使用Glide加载图片时,我们应尽量避免在非主线程中进行操作,否则容易出现异常,例如"You cannot start a load for a destroyed activity"。为了解决这个问题,可以传入Application对象来避免异常的出现,但这样会延长Glide加载图片的生命周期。因此,当Activity已被销毁时,仍在继续加载图片,这样会造成大量资源的浪费。因此,我们建议封装一个Glide加载图片的工具类,以解决这个问题。

空名先生 2260

BitLocker磁盘锁定解决方法

摘要:本文介绍了BitLocker加密磁盘被锁的两种情况及解决方法。对于系统盘锁定,建议在微软账户中查找48位恢复密钥;数据盘锁定可尝试密码或恢复密钥解锁。若密钥丢失,可通过IT支持或数据恢复服务尝试解决。预防措施包括妥善备份密钥到微软账户和离线位置,避免随意更改系统硬件配置。BitLocker安全性高,恢复密钥是解锁关键,提醒用户务必做好备份以防数据丢失。(148字)

yueke06442300的专栏 2677

Glide报错:java.lang.IllegalArgumentException: You cannot start a load for a destroyed activity

原因是Glide在后台线程加载一个资源回来后,上层activity已销毁。

Zhang Phil 1590

scDeepCluster_pytorch代码解读与文章理解

论文:Clustering single-cell RNA-seq data with a。

qq_34179307的博客 915

诊断CAPL自动化(5) ——没有CANdela,无法编辑cdd数据库文件,也能轻松完成诊断测试

🍅我们知道cdd数据库文件,是CANoe测试环境的重要组件,它可以让我们更加轻松的完成诊断测试工作;但是创建和编辑cdd文件是需要CANdela 来完成的,一个 liscense 就要将近二十万,成本确实高🍅特别是在处理22/2E/31服务的时候,频繁的增加功能,可能需要频繁的用CANdela 修改CDD,我测试开发过程中,一般很少去修改cdd,有这个时间,纯手撸也开发完了,就一个CANdela,鬼知道此时此刻到了谁手里,我也懒得去找。🍅演示软硬件环境;目录📘前言。

蚂蚁小兵 5756

【Glide】Glide/Picasso常遇到的小问题集合

包括了以下小问题You cannot start a load for a destroyed activity、图片加载异常class com.bumptech.glide.load.engine.GlideException: Failed to load resource、不支持http、保存的图片自动旋转90°、加载图片出现黑边

chivalrous 981

基于深度学习YOLOv5的草莓成熟度检测系统详解(深度学习模型+UI界面+Python代码+训练数据集)

数据采集与预处理模块:负责收集草莓图像,并进行数据增强和标注。深度学习模型训练模块:使用YOLOv5模型进行草莓成熟度检测模型的训练。模型推理模块:加载训练好的模型,对输入图像或视频进行草莓成熟度检测。UI界面模块:提供用户交互界面,方便用户上传图像或视频进行成熟度检测。本文详细介绍了基于YOLOv5的草莓成熟度检测系统的构建过程,包括数据集的构建、模型的训练与推理、以及UI界面的设计。通过本文的指导,读者可以快速搭建一个高效的草莓成熟度检测系统,并应用于实际场景中。

斌擎科技 526

Android Glide You cannot start a load for a destroyed activity 的异常及解决方法

Glide 很强大,不再多说。 今天发现了 You cannot start a load for a destroyed activity 这个异常,时因为相关 Activity/Fragment 已经 destroy,而程序代码中依然在使用 Glide 加载图片导致的。抛出异常的方法是在 RequestManagerRetriever.java 类里面: @TargetApi(Build.

wblyuyang的专栏 9743

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Android Error: java.lang.IllegalArgumentException: You cannot start a load for a destroyed activity

一:Glide有时会出现这样的异常: java.lang.IllegalArgumentException: You cannot start a load for a destroyed activity at com.bumptech.glide.manager.RequestManagerRetriever.assertNotDestroyed(RequestManagerRetr...

许进进的博客 7731

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Android java.lang.IllegalArgumentException: You cannot start a load for a destroyed activity解决方案

Android项目在使用Glide有时会出现这样的异常: java.lang.IllegalArgumentException: You cannot start a load for a destroyed activity at com.bumptech.glide.manager.RequestManagerRetriever.assertNotDestroyed(RequestM...

Snow_Ice_Yang的博客 794

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

使用Glide加载图片出现: java.lang.IllegalArgumentException: You cannot start a load for a destroyed activity

最近项目中首页的banner使用的com.youth.banner使用Glide异步加载图片:public class GlideImageLoader extends ImageLoader { @Override public void displayImage(Context context, Object path, ImageView imageView) { ...

learn_to_fly的博客 6092

Glide-You cannot start a load for a destroyed activity

场景: 在获取本地相册的时候,加载大量数据,打开界面,然后很快finish界面,就会出现You cannot start a load for a destroyed activity,因为finish的时候,图片还没有被夹在完,Glide.with(mContext).load(bitmapLast).into(binding.itemPhoto);mContext为空导致,所以需要判断act...

qq_15131627的博客 490

Glide出现的相关错误,以及glide4.0的使用

Glide错误java.lang.IllegalArgumentException: You cannot start a load for a destroyed activity Glide 4.0.0 RC0 使用详解

zhuhai__yizhi的专栏 2876

Android Abort message: ‘Error, cannot access an invalid/free‘d bitmap here!‘

解决方案,避免在用glide加载设置图后,在其他地方又从view里面取Bitmap,或者,取Bitmap和使用Bitmap,保护判断拦截起来。在某些Glide加载场景中,如果Glide把Bitmap加载放入到view后,又去从view里面取Bitmap,会抛上述NE错误。

Zhang Phil 774

bug排坑记录

bug报错如下 java.lang.IllegalArgumentException: You cannot start a load for a destroyed activity         经过排查 ,发现是Glide引发的报错,原因是在网速很慢的情况下,打开一个需要向服务器请求资源并用Glide加载的页面, 在请求的服务器资源返回之前快速的finish掉这个页面,那么在请求结果

WJC-keepGoing的博客 361

Glide类似You cannot start a load for a destroyed activity异常简单分析

最近在做项目时,使用Glide加载网络图片时,碰到了 You cannot start a load for a destroyed activity 这个异常; 场景描述:点击进入一个Activity 当中请求网络 请求成功后 根据服务器返回的图片URL使用Glide来加载网络图片 ,当点击进入activity 加载网络过程中 退出activity 会报此错 今天有时间就索性研究下这个问

Li_Xavier的博客 2万+

You cannot start a load for a destroyed activity

这个错误是我在使用Glide加载图片时,频繁打开关闭activity时会出现的异常。 解决办法: 把context改为Application的context。 //自定义Application public class App extends Application { private static App mApp; public void onCreate() { ...

孙先森的博客 3072

Android解决“java.lang.IllegalArgumentException: You cannot start a load for a destroyed activity”问题方案

最近在友盟收集的错误列表中,发现有个问题使得蛮多用户闪退的。根据错误信息定位到,是由于图片轮播控件com.youth.banner使用Glide异步加载图片时发生的崩溃。在开发及测试过程中,并没有发生这个问题,话不多说,直接分析错误信息。 1.首先来看看崩溃日记: java.lang.IllegalArgumentException: You cannot start a load for a d...

龙旋的博客 2872

解决 java.lang.IllegalArgumentException:You cannot start a load for a destroyed activity 造成的闪退问题

序 、今天周一就跟我来了一个大事故 。太 TMD 难了 。 报错内容 Caused by: 5 java.lang.IllegalArgumentException:You cannot start a load for a destroyed activity 6 com.bumptech.glide.b.l.c(RequestManagerRetriever.java:323) 7...

Super 含 的博客 3412
上一篇: 解决-Glide加载CircleImageView失败
下一篇: 常用linux命令
Huang-Lin
博客等级 码龄10年 20粉丝 58原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值