前段時(shí)間做項(xiàng)目的時(shí)候第一次發(fā)現(xiàn)這個(gè)錯(cuò)誤九串。字面上是說:不能為一個(gè)已經(jīng)銷毀的activity加載。 一開始很難復(fù)現(xiàn)不知道怎么回事寺鸥。然后去google github上找猪钮。發(fā)現(xiàn)很多人提過。但都沒有一個(gè)比較好的解決方法胆建。后來在一個(gè)?回答中看到了這個(gè)的原因:因?yàn)槭褂玫腞ecyclerView在加載的時(shí)候會(huì)有慣性運(yùn)動(dòng)烤低。在關(guān)閉頁面后依然會(huì)滑動(dòng)。這時(shí)再調(diào)用Glide.with(actiivity)時(shí)activity已經(jīng)走了onDestory方法所以就會(huì)報(bào)這樣的錯(cuò)誤眼坏。解決的方法有各種:
- 在退出時(shí)強(qiáng)制不讓RecyclerView再運(yùn)動(dòng)
swipeTarget.dispatchTouchEvent(MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis(), MotionEvent.ACTION_CANCEL, 0F, 0F, 0))
(推薦) - 判斷當(dāng)前activity是否銷毀activity.isFinishing
- try catch有人會(huì)使用這種方法嗎拂玻。酸些。。檐蚜。