最近開發使用Glide加載圖片到RecyclerView的item中的ImageView,發現重新刷新時每個ImageView都會閃爍一下
在網上找了很多解決方案:
1.更改RecyclerView中的 DefaultItemAnimator 類中的 animateChangeImpl() 方法,去掉透明度變化
然後再將更改好的類設置給RecyclerView
發現沒什麼用
2.更改RecyclerView的動畫時間爲0
首先說明上面兩種方式都是更改RecyclerView的動畫,這個動畫是針對整個item的,對圖片單獨加載沒啥用,至於別人爲什麼可以生效,咱才疏學淺,搞不懂
3.更改Glide的加載,把跳過內存緩存的選項去掉,或設爲false,以及加上不需要動畫
發現也沒什麼用,暫時沒弄懂爲啥,畢竟這個dontAnimate()的源碼我還沒看,不知道原理和幹啥用的
4.最後發現一篇文章 http://www.cocoachina.com/articles/69689
大致意思就是把設置圖片的這個動作自己做,不交給Glide,就解決了閃爍問題,原因可能是Glide在設置圖片上加了什麼動畫或者其他操作吧