Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Curso de J2ME - Parte 04 - Otimização

470 vues

Publié le

Curso de J2ME - Parte 04 - Otimização

Publié dans : 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:)
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici
  • The final result was amazing, and I highly recommend ⇒ www.HelpWriting.net ⇐ to anyone in the same mindset as me.
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici
  • 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.
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici
  • Verifique a fonte ⇒ www.boaaluna.club ⇐. Este site me ajudou escrever uma monografia.
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici
  • Soyez le premier à aimer ceci

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?

×