Glide使用时,遇到You cannot start a load for a destroyed activity

方法:

在onResume()和onPause()中分别添加以下代码:

  @Override
    protected void onPause() {
        super.onPause();

        Glide.with(this).pauseRequests();
    }
 @Override
    protected void onResume() {
        super.onResume();

     
        Glide.with(this).resumeRequests();
}

 不能在onDestroy()中进行操作,因为已经是销毁状态。下方代码可进行验证

 /**
     * 判断activity是否销毁
     * @return
     */
    public boolean isActivityDestoryed(){
        Log.d("销毁",Util.isOnMainThread()+"----"+isFinishing()+"-----"+isDestroyed());
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
            if (Util.isOnMainThread() && !isFinishing() && !isDestroyed()) {
               return false;
            }
        } else {
            if (Util.isOnMainThread() && !isFinishing()) {
               return false;
            }
        }
        return true;
    }

注意:仅判断前两个Util.isOnMainThread() && !isFinishing(),仍然会报错。切忌!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值