Im, используя RecyclerView
, чтобы отобразить список, содержащий imageView
. Чтобы сделать пользовательский интерфейс более плавным, я загружаю 58dp миниатюры, сохраненные на SD-карте, в эти изображения с помощью asyncTask
.RecyclerView: Async image-loading
Проблема заключается в том, что как только childView
приходит на визуальный дисплей, старое изображение из других данных повторно используется, а затем заменяется после завершения AsyncTask
. Я могу остановить перетасовку, установив растровое изображение imageView
в onPreExecute
.
Есть ли способ действительно повторно использовать старые изображения или мне действительно нужно загружать изображения с SD-карты каждый раз, когда появляется новый View
? Это делает вид довольно уродливым, потому что либо появляются неправильные изображения, либо изображение белого цвета.
Значит, старые растровые изображения, прикрепленные к представлениям, отбрасываются, когда они покидают экран? –
Вы можете поместить их в LruCache, когда вы их прочтете, или перед их удалением, и повторите их позже. –
http://developer.android.com/reference/android/util/LruCache.html –