ListView с волейболом NetworkImageView мерцание

У меня есть довольно простой просмотр списка с NetworkImageView

public View getView(int position, View convertView, ViewGroup parent) {
            if (convertView == null) {
                LayoutInflater inflater = (LayoutInflater) getContext()
                        .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                convertView = inflater.inflate(R.layout.ladder_item, parent, false);
            }

            image0= (NetworkImageView) convertView.findViewById(R.id.ladder_item_layer_0_user_0_image);
            image0.setDefaultImageResId(R.drawable.test_random_size);
            image0.setImageUrl(obj.getImageUrl(), mLoader);

            return convertView;
        }

Проблема в том, что прокрутка не такая плавная, как хотелось бы, она немного мерцает. Если я закомментирую строку "setImageUrl", прокрутка будет очень плавной, поэтому проблема заключается в загрузке изображения Volley NetworkImageView. Есть ли что-нибудь, что я могу сделать, чтобы сделать его менее мерцающим?

Я тестирую на Samsung S5 mini.

Спасибо большое

2 ответа

На мой взгляд, у вас есть два варианта.

  1. Измените загрузчик изображений на что-то более производительное для вашего конкретного случая, например, Picasso или Glide.
  2. Измените размер пост-загрузки растрового изображения в imageview, но я подчеркиваю первый вариант, потому что залп произошел в прошлом году.

Причина не гладкой прокрутки может быть различной. Вот действительно хорошая статья о лучшей практике, которой вы должны следовать для ListView.

В моем случае мерцание было вызвано загрузкой изображения залпом, решение было использовать Glide для загрузки изображения. Glide от Google, и он действительно мощный и легкий. Теперь свиток просто супер плавный.

Здесь сравнение между Пикассо и Glide.

Другие вопросы по тегам