У меня есть представление рециркулятора, которое показывает мульти-растровое изображение из базы данных SQLite. Когда число растровых изображений увеличивается, представление рециркулятора прокручивается с запаздыванием. Кроме того, вся программа замедляется.
Я сохраняю растровое изображение из представления в базе данных, как это (преобразовать растровое изображение в байт):
Bitmap bitmap = Bitmap.createBitmap(view.getWidth(), view.getWidth(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
view.draw(canvas);
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 0, stream);
DatabaseHelper.updateData(id, stream.toByteArray());
И преобразовать байт в растровое изображение в адаптере onBindViewHolder следующим образом:
byte[] byte = items.get(position).getImageByte();
Bitmap bitmap = BitmapFactory.decodeByteArray(byte, 0, byte.length);
holder.ivShot.setImageBitmap(bitmap);
И это мой фрагмент, который инициализирует представление рециркулятора:
ModelArrayList = DatabaseHelper.getData();
Adapter = new Adapter(ModelArrayList, DatabaseHelper);
recycler.setHasFixedSize(true);
recycler.setLayoutManager(new GridLayoutManager(context, 2));
recycler.setAdapter(Adapter);
Как я могу исправить эта ошибка?