У меня есть веб-просмотр, который мне нужен, чтобы сделать снимок экрана с сайта. Люди предложили мне использовать функцию capturePicture () , эта функция устарела. Поэтому я создаю растровое изображение из текущего сайта, как этот, и сохраняю его как байт [] в базу данных:
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.JPEG, 10, stream);
DatabaseHelper.updateData(id, stream.toByteArray());
bitmap.recycle();
и загружаю его в другое действие с Glide :
Glide.with(context).load(items.get(position).getImage())
.placeholder(R.drawable.ic_defualt)
.into(holder.ivShot);
Теперь, если количество снимков экрана увеличивается, скорость приложения уменьшается, а объем памяти увеличивается. Я знаю, что проблема растровых изображений очень сложна, но должен быть способ сделать снимок веб-представления без утечек или замедлений памяти.
Я пытаюсь использовать потоки для получения растрового изображения, но это не так Т помочь. Кто-нибудь знает, как я могу это сделать?