Android:回收器视图项目中的图像在快速滚动时会随机播放很多

var*_*nkr 2 android android-recyclerview

我的应用程序中有一个回收站视图。每个回收器视图项都有一个 imageView。我使用 asyncTask 加载位图并将它们添加到磁盘缓存中,然后再将它们设置到 onPostExecute 中的图像视图中。

问题是,如果我快速滚动列表,在为该项目设置正确的图像之前,我可以看到图像混杂了很多。我对这种行为的理解是,当我滚动列表时,回收者视图项目内容将替换为新项目的内容。但是由于图像需要一些时间来加载这会导致混洗效果。

我的问题是有什么方法可以防止这种影响或至少将其最小化,以便很少发生改组?

编辑:我尝试将图像位图设置为 null,但似乎没有任何区别。

 @Override
    public void onBindViewHolder(DataObjectHolder holder, int position) {
        holder.title.setText(list.get(position).getTitle());
        holder.subTitle.setText(list.get(position).getSub());
        holder.image.setImageBitmap(null);
        loadBitmap(position, holder.image);
    }
Run Code Online (Sandbox Code Playgroud)

Abh*_*bey 6

在 onBindViewHolder() 中添加以下行;

holder.setIsRecyclable(false);