我列出了我在RecyclerView中显示的已安装应用程序。 应用程序图标存储在字节数组中,我使用Glide将其绑定到ImageView,使用:
Glide.with(itemView.getContext())
.load(application.getIcon())
.into(icon);
问题在于花了大约500-700毫秒来显示图标,然后它以漂亮和流畅的方式显示。但我不希望延迟,也不想回到占位符。
如果我更改Glide代码以进行直接加载(在主应用程序主题中),则图标会立即显示 :
byte[] image = application.getIcon();
BitmapFactory.Options options = new BitmapFactory.Options();
options.inPreferredConfig = Bitmap.Config.ARGB_8888;
Bitmap bitmap = BitmapFactory.decodeByteArray(image,0,image.length,options);
icon.setImageBitmap(bitmap);
但问题是,如果我快速滚动列表,有时会出现一些小问题。
使用Glide可以更快地加载图标吗? 我试过 .dontAnimate()和 .dontTransform(),但我没有看到任何差异。如何直接加载图像并获得与直接在主线程中加载相似的结果?