Есть ли способ определить, должен ли BitmapFactory.decodeFile иметь параметр set (insamplesize) в зависимости от телефона? - PullRequest
0 голосов
/ 11 января 2012

Я попытался поработать с небольшим количеством кода, чтобы декодировать файл с SD и затем отредактировать его.Из-за этого редактирования, которое должно быть сделано, важно сохранять более масштабное изображение.Некоторые телефоны испытывают проблемы с памятью, в то время как другие имеют достаточно места в своей куче, чтобы продолжить декодирование без установленной опции.поставить опцию на место (если необходимо), иначе продолжить без нее.

1 Ответ

0 голосов
/ 11 января 2012

В качестве обходного пути, оберните декодирование в try-catch, и если произойдет исключение «нехватка памяти», просто перехватите его и попробуйте декодировать с правильно установленным inSampleSize. Однако это больше похоже на взлом, чем на решение.

По сути, вам нужно знать, сколько памяти займет ваше декодированное растровое изображение и сколько памяти доступно для кучи вашего приложения, чтобы расти в системе прямо сейчас. Первый легко узнать: ширина * высота * 4 байта (по умолчанию декодирование в ARGB8888). Но я понятия не имею, как получить объем памяти кучи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...