ListView 快速滑動時,圖片顯示錯亂、閃爍;慢滑則相對正常。代碼中 getView 直接在子線程下載圖片並 setImageBitmap,未處理 convertView 復用導致的圖片錯位。
convertView 時,ImageView 仍保留上一次綁定的圖片 URL/對象。ImageView 可能已綁定新數據,導致舊圖覆蓋新位置(經典「圖片錯位」問題)。imageView.setTag(url),下載完成前判斷 tag.equals(url),不一致則放棄設置。Glide.with(context).load(url).into(imageView);getView 開頭調用庫的 clear(imageView) 或自行維护任務映射表取消舊下載。郭霖博客《Android 圖片加載完美解決方案》:https://blog.csdn.net/guolin_blog/article/details/45586553
切記:不要在 getView 中手寫異步下載邏輯,生產項目務必接入圖片加載庫。