Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java ME (J2ME) > OutOfMemoryError


Автор: novoselov 24.10.2008, 15:01
Всем привет!
Подскажите пожалуйста как мне настроить плагин eclipse в jbuilder.
при чтении файла размером 800kb методом 
Код

DataInputStream dis = new DataInputStream(getClass().getResourceAsStream(path));

jbuilder говорит
Running with storage root DefaultColorPhone
java.lang.OutOfMemoryError
Execution completed.
733611 bytecodes executed
5 thread switches
743 classes in the system (including system classes)
4331 dynamic objects allocated (155040 bytes)
6 garbage collections (139852 bytes collected)

но что самое интересное когда я запускаю тот же самый код в WTK22 он не ругается. Вот по этому думаю что дело в настройках...

Автор: eugine_s 24.10.2008, 16:31
Не пойму причем тут эклипс, jbuilder и всякое такое не связанное с j2me? 

Реальный показатель: это мобильный телефон, не эмулятор.
Хотя если тебе эмулятор выдается OutOfMemory, тогда какие-то модели телефонов точно выдадут такую же ошибку.

1) 
Смотри: 800 кб файл - далеко не все телефоны имеют такой объем памяти.

Поэтому тебе по другому нужно читать твой файл.


2) Если у тебя файл 800кб и этот файл находиться в jar-е (сужу это по тому что ты вызываешься getResourceAsStream())
Как у тебя размер jar-а получается? 
Конечно сейчас многие телефоны не имеют ограничение на размер jar-файла, но далеко не все...



Автор: novoselov 24.10.2008, 17:47
Цитата

Поэтому тебе по другому нужно читать твой файл.


мне кажется как ни читай все равно получится большой размер... если конечно толеко не сделать много мелких jar файлов...

Автор: amI 24.10.2008, 23:01
А разве обязательно файл дробить, ведь можно считать, допустим 5%, потом ещё 5 по смещению 5 и т.д.?

Автор: novoselov 25.10.2008, 08:39
Цитата

А разве обязательно файл дробить, ведь можно считать, допустим 5%, потом ещё 5 по смещению 5 и т.д.?


ну это естессно! я так и делаю... ну тема в общем не об этом... думал может кто сталкивался с подобным при работе на eclipse
в eclipse не доходит даже до строчки
Код

dis.read()

тормозит сразу на
Код

DataInputStream dis = new DataInputStream(getClass().getResourceAsStream(path));

Автор: eugine_s 25.10.2008, 09:09
1) Не используй DataInputStream
2) разбей файлы на маленькие кусочки.

и совет - называй все своими именами:
Цитата(novoselov @  25.10.2008,  08:39 Найти цитируемый пост)
думал может кто сталкивался с подобным при работе на eclipse

Это звучит совсем некомпетентно. Eclipse - это IDE, а никак не эмулятор.
Тоже самое что написать "у меня в блокноте (notepad) не доходит до dis.read()" - звучит очень похоже. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)