Android RecyclerVew适配器性能降低

时间:2016-09-13 14:55:09

标签: android android-recyclerview recycler-adapter

我的recyclerview存在性能问题,而且我已经读过 RecyclerView.Adapter onBindViewHolder 部分可能是它的原因。我遇到的主要问题只是慢速滚动,有时它变得反应迟钝。这是我的onBindViewHolder

 @Override
public void onBindViewHolder(ArtistViewHolder holder, int position) {
    final Artist artist = artists.get(position);

    holder.getBinding().artistImage.setImageBitmap(null);
    try {
        holder.setImage(artist, (int) DimensionUtil.convertDpToPixel(context, 120), (int) DimensionUtil.convertDpToPixel(context, 120));
    } catch (IOException e) {
        e.printStackTrace();
    }
    if (position == artists.size() - 1) {

        endOfListListener.EndOfListReached();
    }
    holder.getBinding().setArtistClickListener(listener);
    holder.getBinding().setArtist(artist);
    holder.getBinding().setPosition(position);
    holder.getBinding().executePendingBindings();

}

那里有什么东西可以转移到其他地方以提高滚动性能吗?我知道onBindViewHolder中的每个项目都经常在滚动列表时被访问。

1 个答案:

答案 0 :(得分:3)

这是因为您在recyclerview上加载图像(大图像)。当您滚动回收者视图时,onbindviewholder将附加图像eveytime。