Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Curso de J2ME - Parte 04 - Otimização

466 Aufrufe

Veröffentlicht am

Curso de J2ME - Parte 04 - Otimização

Veröffentlicht in: Technologie
  • ⇒⇒⇒WRITE-MY-PAPER.net ⇐⇐⇐ I love this site. It always finds me the best tutors in accordance with my needs. I have been using it since last year. The prices are not expensive compared to other sites. I am glad I discored this site:)
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • The final result was amazing, and I highly recommend ⇒ www.HelpWriting.net ⇐ to anyone in the same mindset as me.
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • If we are speaking about saving time and money this site ⇒ www.WritePaper.info ⇐ is going to be the best option!! I personally used lots of times and remain highly satisfied.
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • Verifique a fonte ⇒ www.boaaluna.club ⇐. Este site me ajudou escrever uma monografia.
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • Gehören Sie zu den Ersten, denen das gefällt!

Curso de J2ME - Parte 04 - Otimização

  1. 1. J2ME J2ME Otimização Leonardo Melo Santos leonardomelosantos@gmail.com
  2. 2. J2METópicos••• Otimização Porque otimizar? O que fazer para otimizar?• Tipos de otimização• Práticas de otimização
  3. 3. J2MEOtimização No ambiente computacional, aplicar técnicas deotimização é uma tarefa de extrema importância e relevância. Quando estamos falando de um ambiente para dispositivos móveis, torna-se fundamental otimizar.
  4. 4. J2MEPorque otimizar?• Limitações do hardware (processamento, armazenamento, memória, ...)• Tamanho da aplicação final. – Em determinados dispositivos, o tamanho máximo de uma aplicação JME não pode ultrapassar certa quantidade de kilobytes. – Espaço de armazenamento é escasso. Quanto menor o tamanho, maior o número de aplicações instaladas.• Custo de telefonia. – Quanto mais rápido e quanto menos bytes forem enviados/recebidos, mais barato sai o custo da conexão. – Ao baixar uma aplicação, quanto menor, menor o custo e menos tempo de espera.• Pequenas mudanças podem trazer benefícios consideráveis.
  5. 5. J2MEPorque otimizar? CUIDADO! Porque otimizar se nem testado foi? Porque otimizar se aplicação atende às necessidades do usuário? Tempo é muito valioso nos dias de hoje.• Martin J. Hells em “J2ME Game Programming” – “Não tente otimizar código que você pensa que é lento, otimize aquilo que você sabe que é lento”.
  6. 6. J2MEO que fazer para otimizar?• Aplicar práticas para melhorar a performance e a aplicação de uma maneira geral.• Diminuir o tamanho do código-fonte, do aplicativo como um todo e das imagens PNG.• Usar Obfuscators – O objetivo principal de obfuscation é dificultar a engenharia reversa do código Java™. – Obfuscators também reduzem o tamanho do código- fonte, “renomeando” identificadores e assinaturas de métodos.
  7. 7. J2METipos de otimização• Otimização de alto nível – Foco seria o desenho do código-fonte e seus algoritmos. – Dentre as possíveis soluções, a melhor em custo X benefício. – Algoritmo correto = solução adequada• Otimização de baixo nível – Atenção direcionada para pequenos trechos de código (às vezes, algumas linhas de código). – Maioria das vezes a atenção é voltada para o que pode ser melhorado na implementação de métodos, na sua declaração e nos seus parâmetros de entrada.
  8. 8. J2MEPráticas de otimização (1/9)• Evitar heranças principalmente as muito profundas (classe que herda de classe que herda de classe etc.) – Classes derivadas tem que gastar tempo e espaço com dados herdados mesmo que sem usá-los – Um método quando não encontrado é procurado na hierarquia de classes o que gasta tempo e processamento – Caso a subclasse não use muito dos métodos e dados da superclasse, analise se não é possível criar uma nova classe
  9. 9. J2MEPráticas de otimização (2/9)• Evitar inner classes (classes aninhadas) e classes que realmente sejam desnecessárias. – Com inner classes, o compilador inclui código extra para permitir a classe aninhada acessar os dados privados da classe de fora.
  10. 10. J2MEPráticas de otimização (3/9)• Minimizar criação de objetos. – Consome memória – Rouba ciclos de processamento – Leva a coleta de lixo, o que rouba mais ciclos• Evitar criação de objetos dentro de métodos. – Se possível, passe o objeto como parâmetro.
  11. 11. J2MEPráticas de otimização (4/9)• Evitar concatenações de Strings• Usar StringBuffer – Fácil de usar e destruir. – Menos consumo de memória. – Realocação pode ser evitada criando um StringBuffer com tamanho de buffer adequado a aplicação.
  12. 12. J2MEPráticas de otimização (5/9)• Evitar gets() e sets(). Atributos dos objetos poderiam ser public. – Desnecessariamente, a aplicação fica mais lenta e código- fonte fica maior.
  13. 13. J2MEPráticas de otimização (6/9)• Evitar declarações e instanciações dentro de iterações.
  14. 14. J2MEPráticas de otimização (7/9)• Evitar flags do tipo String. Ideal seria usar algum tipo primitivo.
  15. 15. J2MEPráticas de otimização (8/9)• Reduzir o número de parâmetros de entrada no métodos.
  16. 16. J2MEPráticas de otimização (9/9)• Destruir os objetos assim que tiver a certeza de não mais usá-los.
  17. 17. J2ME Dúvidas?

×