1

我有一个带有 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 图像加载。有什么办法可以减少闪烁吗?

我正在三星 S5 mini 上进行测试。

非常感谢

4

2 回答 2

0

在我看来,你有两个选择。

  1. 将图像加载器更改为更适合您的特定情况的性能,例如 picasso 或 glide。
  2. 将加载后的位图大小调整为 imageview,但我鼓励第一个选项,因为去年 volley 是这样。
于 2016-05-07T18:51:14.273 回答
0

滚动不流畅的原因可能多种多样。是一篇非常好的文章,介绍了 ListView 应遵循的最佳实践。

在我的情况下,闪烁是由 Volley 图像加载引起的,解决方案是使用Glide进行图像加载。Glide 来自谷歌,它非常强大和轻量级。现在滚动它简直超级流畅。

这是毕加索和格莱德的比较。

于 2016-05-08T07:21:09.060 回答