Diminuir o Midlet

14 respostas
R

Pessoa,

Usando o ofuscadora ele criou 3 arquivos .jar, um com o nome do meu Midlet e outros com outros nome concatenado com o nome do meu Midlet.

Qual é o correto para usar? Pq no que so tem o meu Midlet sem tem a classe principal do meu Midlet as outras não tem.

Outra coisas, é correto não colocar comentário no codigo fonte, já no intuito de dimunir o arquivo?
Também vi que é melhor usar tipos primitios ao inves de Objeto para trabalho com persistencia, para tornar mais rápido. Nesse caso é melhor eu pegar meu Objeto que uso ttanto para persistir qto enviar via net que tem 4 int e 1 String, “quebrá-lo” e deixar de usar a classe?

Que outras dicas vocês teriam para diminuir e agilizar uma aplicação J2ME.
Seria bom montarmos um tópico onde os desenvolvedores colocassem experiencias no desenvolvimento e divulgar a toda comunidade.
O que acham?

14 Respostas

S

Os comentários no código fonte não vão para o seu .class, ou seja, comeeeeeeeeeeente o quanto quiser! =)

C

Dentre os 3 jars, use aquele que preserva o nome da tua aplicação original!

R

Blz, isso mesmo.
vls clv.

Pessoal, poderiamos compartilhar mais coisas.
Como por exemplo o uso de Canvas é melhro do que usar imagem para diminuir a aplicação.

O que se teria mais para fazer?

C

Diminuir o bitdepth das imagens!
Ou seja, imagens com 24bits de cor não é necessário pois quase toda totalidade dos celulares nao suporta 24bits de cor, logo se vc baixar o número de cores vc poupa espaço.

R

Legal, esse é bom.

Eu memso so vi celular de 16 bits.
E os que tem esse suporte, ainda são poucos no mercado.

Outra coisa que tava vendo é a questão de Exceções
Na hora de usar RecordStore, existe vários que pode ocorrer, é melhor colocar tudo em Exception?

Outra coisa é colocar null nos objeto e sempre chamar o GC.

É bom usar if abreviado para compactar linha de codigo?

Que coisas séria melhor para melhorar o desempenho?

Obrigado pela ajuda.

J

Olá,

Para otimização e performance, tanto em jogos quanto em aplicações normais acho que vale a pena dar uma olhada nestes links:

Dá uma olhada nesse artigo da Vanessa Sabino
http://java.blogger.com.br/2004_01_01_archive.html
E no arrigo original:
http://www.microjava.com/articles/techtalk/optimization

Abraços!

R

Hum…

Legal esse artigo, apesar de ter coisa para jogos, tem outras que pode ser usada em aplicações normal.

São coisas desse tipo que deveriamos divulgar para não termos que recriar sempre a roda, qdo se tem uma maneira mais fácil e simples de melhorar a aplicação.

Porque andei pesquisando e num vi uma metodologia para o desenvolvimento de aplicações para celular, só mesmo dicas de economia de objetos, espaço de jar e etc…

Obrigado.

C

Vc pode fazer como quiser, se quiser fazer estilo MVC vc pode, mas ocupa mais espaço. geralmente aplicações normais não se comparam a jogos em relação a desempenho,memória e espaço em jar.
Otimizações de desempenho em aplicações UI não são notadas. A menos que tenha sido muito mal programado.
Em geral Heap memory também não é crítico pra essas aplicações. Somente espaço em jar que é sempre melhor que a aplicação fique menor por questões de download e tal.

Até!

R

Realmente MVC no celular pode ate deixaar a aplicação bem dividida e legal para manutenção mas se vai perder em performance.
Já se mexer muito em performance se perde em manutenção, isso é que eu acho uma decisão dificil para quem programa.

Eu busco mais isso, diminuir a quantidade de objetos por conta do espaço de memória e diminuir o jar para num ficar muito grande e muito custoso na hora do download.

Obrigado.

A

devo atribuir ‘null’ a todos os objetos q nao estiverem mais em uso? inclusive em tipos primitivos???
se forem mts objetos, isso tambem nao aumenta o codigo? qual a decisão correta?
e o gc, devo chama-lo sempre? isso nao vai ocupar mt processamento do celular?

vlws!

Augusto

R

Sim, você deve atribuir null aos objets
Aos tipos primitivos não pois ele não são objeto.

Pode ate aumentarm o tamanho da classe, mais e tão insignificante comparado a liberação de memoria que você estara fazendo e depois que seta null chama o GC.

Chamar o GC num é preciso, você estará só o notificando para ser executado, mas em setar null nos objetos já o ajuda.

C

“augustocss”:
devo atribuir ‘null’ a todos os objetos q nao estiverem mais em uso? inclusive em tipos primitivos???
se forem mts objetos, isso tambem nao aumenta o codigo? qual a decisão correta?
e o gc, devo chama-lo sempre? isso nao vai ocupar mt processamento do celular?

Essas decisões de otimização devem sempre ser tomadas baseadas nas necessidades. Não é regra geral. Mas lembre que os celulares tem comportamentos diferentes de GC, de Threads e eventos. (Infelizmente).
Portanto saber o que o programa está fazendo (ter o programa “na mão”) é muito importante.

Falow!

R

Pessoal,

No .class gerado as importações comuns entre sim, tipo as 10 classes que são do mesmo pacote o .class compacta tudo em .?
Ou seria melhor colocar .
ao inves de colocar as classes todas que uso?

Obrigdo.

C

Opa,
O melhor que vc tem a fazer é abrir um .class no notepad , por exemplo e ver por si so.
Mas o que ele faz é que quando vc coloca * o compilador vai colocar todos os imports do pacote. Se vc for usar todas as classes do pacote não tem problema usar *, mas caso nao o faça é sempre melhor distinguir tudo.
O eclipse faz isso pra vc!!

Falow!

Criado 29 de julho de 2005
Ultima resposta 23 de ago. de 2005
Respostas 14
Participantes 5