методы масштабирования изображений Android для очень больших изображений;

1

У меня есть изображение на сервере размером 1000х800. Я загружаю его, используя следующие подходы:

  1. загрузить полное изображение, поместить значения пикселей в массив, декодировать растровое изображение и масштабировать его.

  2. загружать части изображения, помещать их на холст и масштабировать холст.

Какой подход лучше относится к проблемам памяти?

Теги:
android-image

1 ответ

1
Лучший ответ

Лучший способ:

3) Уменьшить/масштабировать изображение без его декодирования

public static Bitmap decodeSampledBitmapFromResource(Resources res, int resId,
    int reqWidth, int reqHeight) {

  // First decode with inJustDecodeBounds=true to check dimensions
  final BitmapFactory.Options options = new BitmapFactory.Options();
  options.inJustDecodeBounds = true;
  BitmapFactory.decodeResource(res, resId, options);

  // Calculate inSampleSize
  options.inSampleSize = calculateInSampleSize(options, reqWidth, reqHeight);

  // Decode bitmap with inSampleSize set
  options.inJustDecodeBounds = false;
  return BitmapFactory.decodeResource(res, resId, options);
}

Это объясняется здесь. Пример кода оттуда тоже.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню