RecyclerView在项目中使用三个元素和ImageViews缓慢滚动

时间:2019-01-11 11:07:43

标签: java android android-recyclerview imageview

我正在尝试制作一个简单的回收站视图,该视图目前仅显示三个卡片视图,每个视图都有一个向左推的图像。由于目前只有三个项目,因此所有卡视图在屏幕上都是可见的,没有可滚动的内容。但是,当我尝试滚动时,屏幕顶部或底部的半圆形滚动发光指示器会出现,并且表现得很la肿。 (这件事:scroll-glow

我发现,如果我将这一行注释掉:

holder.imageView.setImageResource(currentItem.getDrawableId());

onBindViewHolder(MyHolder holder, int position)中,抽搐消失,并且“滚动发光”指示器平滑流畅。

currentItem.getDrawableId()只是查找保存在2d数组中的资源,如下所示:

private static int[][] resources = {{R.drawable.00, R.drawable.01}, {R.drawable.10, R.drawable.11}};
...
return resources[mX][mY];

我还注意到,如果我只是将currentItem.getDrawableId()替换为硬编码的R.drawable.p00,那么它的运行也很流畅。所以,我认为每个项目都有不同的资源会有些奇怪...?也许二维数组查找很慢.....?

最后,我有几行:

recyclerView.setHasFixedSize(true);
recyclerView.setItemViewCacheSize(20);
recyclerView.setDrawingCacheEnabled(true);

对于这种滚动发光的杂物,他们似乎什么也没做。

那么,这可能是造成此问题的原因,我该如何解决?

0 个答案:

没有答案