前段时间做项目的时候第一次发现这个错误。字面上是说:不能为一个已经销毁的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有人会使用这种方法吗。。。。
网友评论