2013-04-20 9 views
2

Я делаю приложение j2me. В этом приложении я хочу загрузить изображения более 1 МБ. Но по мере того как размер выделения кучи ограничен на 1 МБ на большинстве мобильных телефонов, поэтому, когда я попытался создать поток ввода изображения размером более 1 МБ, он выбрасывает исключение OutOfMemory. Итак, как я могу сжать изображение в приложении j2me, чтобы загрузить его на сервер.Как сжать изображение в j2me

+0

Был ли ваш поток ввода буферизирован? Каков был размер буфера? – 9000

+0

Спасибо за ваш ответ, InputStream inputStream = fileConnection.openInputStream(); создание потока ввода таким образом. Выброс OutOfMemory Exception на этом этапе. Пожалуйста, скажите мне, как это решить, это действительно актуально. – mark

ответ

0

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

+0

@Faraz ... спасибо за ваш ответ .... но, пожалуйста, скажите, как изменить размер изображения без создания его потока ввода, проблема возникает, когда я создаю поток ввода большого файла, в этот момент происходит исключение OutOfMemory. – mark

0

Вы изменяете размер изображения в соответствии с размером экрана, используя масштаб() способ. Если вы хотите, чтобы изображение соответствовало размеру экрана телефона, используйте методы Displayable.getWidth и getheight. Передайте их методу Scale в виде Scale (w, h) и шкалу вызовов в переменной Image. В основном это уменьшит размер изображения, который может обрабатываться кучей. если он еще выше, затем разделите изображение на маленькие байты, а затем загрузите

Смежные вопросы