Загрузка изображений с огромным разрешением, вызывающих ошибку кучи в j2me - PullRequest
0 голосов
/ 13 февраля 2010

Я пытаюсь загрузить 3776 * 2816 PNG, 24-битное изображение - 804 КБ на мой телефон, MOTO ROKR e6.Он отказывается от java.lang.OutOfMemoryError, это их общий способ обработки загрузки изображений с высоким разрешением. Внутренняя память телефона составляет всего 8 МБ, я думаю, что это как-то связано с ошибкой.

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

Пожалуйста, сообщите.

1 Ответ

1 голос
/ 13 февраля 2010

Итак, несколько быстрых вычислений:

24 bits = 3 bytes
space required (in bytes) = 3776 * 2816 * 3 
                          = 31,899,648 bytes
                          = 31.9MB

Это означает, что после загрузки изображения (с использованием ImageIO, JAI или чего-либо еще) вам потребуется 31,9 МБ для хранения необработанных данных изображения. В результате вы не можете загрузить его на устройство, имеющее только 8 МБ памяти (и я предполагаю, что нет другого вида пространства подкачки).

Вы можете загрузить необработанный файл в виде байтов данных, а не изображения - данные сильно сжаты - но я не думаю, что это то, что вы ищете.

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