Swing com pouca memória

E Aí Pessoal
Alguém já usou Swing em uma máquina com 32 megas de ram ou menos?
Fiz um software em swing e quando testei o aplicativo em uma máquina com 32 megas de Ram a interpretador criou um arquivo log que constava Memory Low.
Existe algum parametro para o interpretador ou para o compilador para o aplicativo rodar em máquinas com pouca memória ou eu devo fazer uma versão “peso mosca” do programa?

Estou usando a versão 1.5.0_02.

Se alguém souber de alguma coisa…

Valeu!

Olá

Só sei de um conselho que tem chance de servir: use thinlet ao invés de swing que é mais confortável porém muito mais pesado.

[]s
Luca

Estive usando thinlet tambem e como o Luca falou é uma otima alternativa.

Nao existe nenhuma maneira de satisfazer os requisitos minimos de memoria da JVM gastando alguma graninha em hardware, ao inves de queimar neuronios? :slight_smile:

Pois é… Se a especificação dissesse “você tem que fazer um programa para este PDV, um 386 com 8 MB de memória etc.” então logo de cara não iria fazer o programa em Swing - talvez Delphi, e olhe lá…

Olá

Neste caso melhor seria em Clipper e mesmo assim bem enxutinho…hehehe

[]s
Luca

é realmente, 32 de ram, é pouco para as exigências atuais.
a não ser que vc utilize algum tipo de arquitetura como cluster ou grid.

mas no seu caso, compre um pouco mais de memoria.
Não esqueça de colocar na lista de pre-requisitos de seu sistema as exigencias de hardware… como os jogos fazem. :wink:

[quote=Luca]Olá

Neste caso melhor seria em Clipper e mesmo assim bem enxutinho…hehehe

[]s
Luca[/quote]

Dá pra fazer.

É só usar CURSES ao invés de Swing… pra quem não conhece, curses é a biblioteca padrão pra acesso à terminal no Unix.

Linux + GCJ (GNU Java) + Curses

Fica bem levinho…

[quote=vhogemann][quote=Luca]Olá

Neste caso melhor seria em Clipper e mesmo assim bem enxutinho…hehehe

[]s
Luca[/quote]

Dá pra fazer.

É só usar CURSES ao invés de Swing… pra quem não conhece, curses é a biblioteca padrão pra acesso à terminal no Unix.
Linux + GCJ (GNU Java) + Curses

Fica bem levinho…[/quote]

Ao inves de “por a mão na merda” … use SWT ou GTK

assembly em modo texto, vocë não precisa mais de 80 colunas.

Assembly!? Quem precisa de assemblers!? :mrgreen:

Na minha epoca a gente precisava trocar o Alt e os teclados numericos a cada duas semanas, e a escrevia os nossos proprios debuggers! Com 8kb de memoria! Humpf!

Aqui o pessoal faz em C mesmo, funciona tão bem que é só ir numa lojinha e passar seu cartão pra ver a performance (para linha discaa demora um(s) segundo(s) a mais) :slight_smile:

Mas quanto à duvida do tópico, rodar as vezes roda, se vc ir lá no gerenciador de tarefas (se for windows) ou usar um gerenciador de janelas enxutérrimo (se for linux).
Mas se tiver mais que uma janela (nada de esconder e criar novo form) já dá cagota…

Melhor repensar a necessidade de swing…

Bom Galera Muito obrigapo pelas ajudas já esclareceu bastante.
Mas cabe mais uma explicação.
Estou fazendo uma aplicação desktop e pela necessidade de ser multiplataforma eu optei por java. Esse não é o único requisito pelo qual se escolhe uma linguagem então aqui vai toda a lista de vantagens e desvantagens de cada linguagem na hora de se fazer um aplicativo multi plataforma. Vc pode chegar a vária concluções, eu cheguei em a conclusão “Java” e o aplicativo está sendo escrito em Java e isso é fato.
Em todas as máquinas que eu testei rodou muito bem (Mesmo sendo Swing) até o infeliz dia em que me deparei com um P100.
Por incrivel que pareça, existe algumas em regiões mais carente que ainda usam essas máquinas. Vc pode pensar em qualquer coisa mas esse hardware é a única coisa que está financeiramente ao alcance de muitas pessoas por aí.

Só fiquei um pouco triste em saber que o meu software não poderia ser usado por um camarada que tem um Pentiun 100 com 32 Mb como a coisa mais tecnologica do mundo em sua humilde casinha.

Agora vejo duas saídas. Ou adapto o software (talves tentando SWT e thinlet) ou excluir esse publico da lista de possiveis usiários do meu programa.

Valeu Pessoal.

Você pode tentar usar uma versão antiga da JVM, elas utilizam bem menos memoria, algo como a 1.1.7, por exemplo.

Nada mais justo!!! rs rs rs para maquinas antigas Softwares antigos.