我的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中的每个项目都经常在滚动列表时被访问。
答案 0 :(得分:3)
这是因为您在recyclerview上加载图像(大图像)。当您滚动回收者视图时,onbindviewholder将附加图像eveytime。