2016-06-02 2 views
4

Я использую скольжение для загрузки содержимого, я использую это, чтобы загрузить 1 изображение на странице и работать хорошо, если я закрываю и снова открываю приложение. проблема в том, когда я использую его в listview, glide всегда его перезагружает.
шаги подробно об ошибке:Glide reload содержание при прокрутке в listview

  1. после загрузки содержимого с сервера, все изображения отображаются нормально
  2. тогда я прокручивать его вниз, новое содержание также появляется нормальный
  3. , когда я прокрутить назад, все изображение исчезает, но после 1s мое изображение появляется снова, потому что скольжение загружает его обратно так же, как скольжение никогда не загружает его раньше.
  4. Если у меня есть портретная ориентация, первая загружена, она заполнит ширину макета, а во второй раз (прокрутка назад) изображение станет меньше не полной ширины.

вот мой отрезала код

View view = convertView; 
if (null == view) { 
    view = View.inflate(parent.getContext(), R.layout.item, null); 
} 

ImageView ivAvatar = (ImageView) view.findViewById(R.id.iv_avatar); 
ImageView ivPicture = (ImageView) view.findViewById(R.id.iv_picture); 
TextView tvName = .... 
... 
tvName.setText(.....); 

Glide.with(parent.getContext()).load(Api.getUrlImage(contents.get(position).avatar, 50, 0)).into(ivAvatar); 
Glide.with(parent.getContext()).load(Api.getUrlImage(contents.get(position).picture, 400, 0)).into(ivPicture); 

на пункте 3, его, как мигание, но вид изображения потерял свою высоту. текст под рисунком вверх (как и изображение без изображения), затем вернитесь вниз после изображения с плавающей запятой
в точке 4, мое разрешение экрана - 480 пикселей, и я загружаю изображение 400 пикселей (изменение размера по серверу), как видно на втором плане скольжения ,

мой вопрос, как удалить это мигающее изображение?

* я запускаю это на низкой спецификации устройства и привет-спецификации устройства (Samsung вкладка с) и мигание происходит в обоих устройств

ответ

0

Попробуйте использовать dontAnimate() и посмотреть, если это решает проблему?

Если проблема по-прежнему сохраняется, это связано с тем, что этот Glide освобождает ресурсы предыдущих изображений, чтобы загрузить последующие изображения.

Если у вас есть много изображений для загрузки в списке прокрутки, и вам необходимо поддерживать устройство с низким разрешением, фреска - лучший вариант. http://frescolib.org/index.html Он использует встроенную память и имеет гораздо лучшее управление ресурсами растровых изображений, особенно для Android-устройств до 5.0.

+0

Я просто попробую реализовать frescolib, работая по мере необходимости. просто для информации, я думал о своей ошибке в моем коде о высоте изображения, пока не прочитал это http://frescolib.org/docs/wrap-content.html –