Показ большого изображения - PullRequest
0 голосов
/ 26 апреля 2018

Я загружаю изображение из папки ресурсов через:

bmp = BitmapFactory.decodeResource(getResources(), R.drawable.imagename);

Это работает для обычных изображений, но если я попробую с большим файлом (2100 * 1600), он не будет отображаться. В отладчике я вижу изображение в переменной «bmp», но оно не отображается на устройстве и не выдает сообщения об ошибке. Но если я переместу исходный файл в папку drawable-xxhdpi - тогда он будет отображаться правильно. Все идет нормально. Однако, когда пользователь выбирает пользовательское изображение из своих изображений, большие изображения по-прежнему не работают. Я загружаю из папки с картинками через:

bmp = MediaStore.Images.Media.getBitmap(this.getContentResolver(), selectedImage);

Обходной путь drawable-xxhdpi здесь не применяется. Кто-нибудь может указать мне правильное направление?

1 Ответ

0 голосов
/ 26 апреля 2018

Что исправило для меня, так это добавить

android:hardwareAccelerated = "false"

к тегу приложения в AndroidManifest.xml. Очевидно, API пытается загрузить изображение в качестве текстуры в OpenGL - или что-то в этом роде. Теперь приложение работает медленно, но по крайней мере все работает.

...