我正在尝试制作一个简单的回收站视图,该视图目前仅显示三个卡片视图,每个视图都有一个向左推的图像。由于目前只有三个项目,因此所有卡视图在屏幕上都是可见的,没有可滚动的内容。但是,当我尝试滚动时,屏幕顶部或底部的半圆形滚动发光指示器会出现,并且表现得很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);
对于这种滚动发光的杂物,他们似乎什么也没做。
那么,这可能是造成此问题的原因,我该如何解决?