Uncaught exception java/lang/OutOfMemoryError

3 respostas
D

Olá!
É o seguinte:
Inventei um Midlet cuja idéia principal é bem simples, mas está me dando dor-de-cabeça…
É simplesmente uma lista de piadas. Que a cada vez que entra no programa, sorteia uma.
OK, ele funciona com uma lista de umas 400 piadas. Mas quando adiciono mais algumas (total de 1500 ±), ele me dá o erro “Uncaught exception java/lang/OutOfMemoryError”.
Jà tentei utilizar Array de Strings, Switch com Strings e StringBuffer, Object, Garbage Collector, separar em outras classes, Obfuscar, etc… Mas não adiantou…
O que consegui fazer foi dividir em 4 programas, o que deu certo no PC, mas ao passar pro celular, só coube na memória um dos 4…!
Tenho um Motorola E380 , que tem:
Heap-Size 1 mb
Maximum Jar Size 100 kb
Available Storage Size 1 MB
Maximum Size of the Record-Store (RMS) 64 kb
Poxa, se rodam animações e jogos no celular, como que um aplicativozinho simples desse não roda…?
Tenho que otimizar o processamento e o uso de memória dele. Mas como??
Por favor, se alguém puder dar uma olhada no meu código e dar alguma dica, agradeço muito!!
Disponibilizei ele em:
http://rapidshare.de/files/18538064/Piadas.java.html
Muito obrigado!

3 Respostas

C

Qual o tamanho, em arquivo texto, das 1500 piadas?

D

Quase 500kb…
Dei uma limpada e baixei pra 263kb (só as piadas, em texto)…
Com poucas piadas, o sistema funciona…
Em outros foruns me indicaram jogar pra TXT, mas não estou certo com fazer para ler… Em J2SE, sim… Mas parece que o J2ME não tem BufferedReader… Vc sabe como proceder?
Obrigado pela resposta!

C

Com certeza… não deixa no bytecode!
Usa:
public InputStream getResourceAsStream(String name)

da classe “Class”.

O txt tem que estar no dir “res”

Falow!

Criado 21 de abril de 2006
Ultima resposta 21 de abr. de 2006
Respostas 3
Participantes 2