Glide You cannot start a load for a destroyed activity

前段时间做项目的时候第一次发现这个错误。字面上是说:不能为一个已经销毁的activity加载。 一开始很难复现不知道怎么回事。然后去google github上找。发现很多人提过。但都没有一个比较好的解决方法。后来在一个�回答中看到了这个的原因:因为使用的RecyclerView在加载的时候会有惯性运动。在关闭页面后依然会滑动。这时再调用Glide.with(actiivity)时activity已经走了onDestory方法所以就会报这样的错误。解决的方法有各种:

  • 在退出时强制不让RecyclerView再运动swipeTarget.dispatchTouchEvent(MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis(), MotionEvent.ACTION_CANCEL, 0F, 0F, 0))(推荐)
  • 判断当前activity是否销毁activity.isFinishing
  • try catch有人会使用这种方法吗。。。。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容