Мне нужно загрузить большое изображение с размерами 2450 x 2450 пикселей.Android: Универсальный загрузчик изображений Загрузка изображения
Bitmap bitmap = ImageLoader.getInstance().loadImageSync(url,
ImageConfig.getImageOptions());
Проблема заключается в том, на низком конечном устройстве (телефон с менее чем 1 ГБ ОЗУ), получил из памяти исключения.
Это мой DisplayImageOptions
public static DisplayImageOptions getImageOptions() {
DisplayImageOptions.Builder options = new DisplayImageOptions.Builder();
options.delayBeforeLoading(10)
//The reason I'm using ARGB_8888 because I need to load bitmap without losing it's quality
.bitmapConfig(Bitmap.Config.ARGB_8888)
.imageScaleType(ImageScaleType.NONE)
//I'm not using disk or memory cache
.cacheOnDisk(false)
.cacheInMemory(false);
return options.build();
}
Я пытался добавить размер цели на основе разрешения устройства, но он не работает, загружается растровый все еще имеет 2450 х 2450 пикселей размеры.
int height = orientation == Configuration.ORIENTATION_PORTRAIT ?
displaymetrics.heightPixels : displaymetrics.widthPixels;
Bitmap bitmap = ImageLoader.getInstance().loadImageSync(imageUri,
new ImageSize(height, height), ImageConfig.getImageOptions());
я пытался изменить imageScaleType к ImageScaleType.EXACTLY
, загруженному растровому изображению с измененным размером 1225 х 1225 пикселей, на всех устройствах, мне нужно, чтобы получить первоначальные размеры для высокого конечного устройства и изменение их размерами размеров для низкого конечного устройства.
Основная проблема заключается в целевом размере не работает
Любая идея, как я должен загрузить изображение, особенно для низкого конечного устройства?
Почему вы не используете кэш –
Потому что он не нужен, даже при использовании кэша еще вылезли исключения памяти на нижнем конце устройства – user2341387
Изменение размера изображения при загрузке. Довольно стандартный. – greenapps