Эффективное масштабирование изображений для нескольких устройств Android: лучший подход
У меня есть изображения размером 1080P, теперь я не хочу использовать различные варианты изображений, которые мы помещаем в папку RES. Я собираюсь установить это приложение на устройства 1K со случайными изображениями, поэтому невозможно иметь разные версии изображений.
Можем ли мы масштабировать его во время выполнения, получая при этом лучшее качество?
1 ответ
Для масштабирования изображений используйте следующее
Bitmap bitmap = BitmapFactory.decodeResource(
getResources(), R.drawable.app_bg);
scaledBitmap = Bitmap.createScaledBitmap(bitmap, width, height, true);
затем назначьте это scaledBitmap
любому ImageView
или любой другой View
, Это будет масштабировать оригинал Bitmap
на запрошенный width
а также height
, Чтобы получить ширину и высоту экрана устройства, используйте следующие
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
int height = size.y;
РЕДАКТИРОВАТЬ
Для того, чтобы справиться MemoryLeakException
добавлять scaledBitmap.recycle()
после использования этого Bitmap
,