TDC-SP: Android sem gastar energia

1,299 views

Published on

As restrições das plataformas móveis, a concorrência e a facilidade dos usuários em recomendar ou criticar as aplicações tornaram o desafio dos desenvolvedores muito maior nas lojas de aplicativos. Além das preocupações com arquitetura e um bom plano de testes, as restrições de bateria e desempenho menor que as plataformas tradicionas exigem mais criatividade para encontrar o melhor balanço entre responsividade e consumo de energia. Nosso foco será apresentar um guia prático de como criar software eficiente no uso de energia, discutir quando precisamos lidar com o balanço entre resposta ao usuário e uso de energia visitando as principais ferramentas que auxiliam o desenvolvedor a melhorar o uso de energia e a responsividade de sua aplicação. Venha conhecer o trabalho que a Intel Software está fazendo no ecossitema Android que beneficia o desenvolvimento para todos dispositivos.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,299
On SlideShare
0
From Embeds
0
Number of Embeds
580
Actions
Shares
0
Downloads
4
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

TDC-SP: Android sem gastar energia

  1. 1. Globalcode – Open4education Escreva sua App Android sem gastar energia George H. Silva Android Community Manager
  2. 2. Globalcode – Open4education Agenda Por que economizar? Quem são os gastões Hardware Wakelocks Medindo Consumo de Energia Identificando consumo da GPU Economizando Android Intel Inside O que não muda Emulador Novidades Conclusão
  3. 3. Globalcode – Open4education Lembre-se! Wakelocks Pensou em emulador? HAXM Pensou em desempenho gráfico GPA
  4. 4. Globalcode – Open4education Por que economizar? Experiência do Usuário Sucesso da sua App
  5. 5. Globalcode – Open4education Quem são os gastões? Tela Processador GPU I/O Disco? Rede GPS Sua App
  6. 6. Globalcode – Open4education Tela
  7. 7. Globalcode – Open4education GPS
  8. 8. Globalcode – Open4education Medindo Defina uma metodologia para sua App Dicas: Use as mesmas pré condições Entre em modo avião (operadora) Deixe o brilho da tela no mínimo Use sempre o mesmo dispositivo Tenha o mínimo de Apps instaladas Não use o adb por conexão USB tcp/ip connection (precise de acesso root )
  9. 9. Globalcode – Open4education Medindo 2 /sys/class/power_supply/battery/uevent datafile Informações disponíveis POWER_SUPPLY_NAME “usb”, “ac_charger” POWER_SUPPLY_STATUS 0 / 1 POWER_SUPPLY_VOLTAGE_NOW uV / mV POWER_SUPPLY_CURRENT_NOW uA POWER_SUPPLY_CHARGE_FULL Watt-Hr POWER_SUPPLY_CHARGE_NOW Watt-Hr
  10. 10. Globalcode – Open4education Medindo 3
  11. 11. Globalcode – Open4education Ciclo de desenvolvimento Codificando sua aplicação Debug & Teste Otimize o desempenhoOtimize o consumo
  12. 12. Globalcode – Open4education Economizando Por onde começar? Por quem gasta mais O que for mais rápido ou fácil de fazer
  13. 13. Globalcode – Open4education Ciclo de Vida
  14. 14. Globalcode – Open4education Wakelock Android assume que se a tela não está ligada, a CPU também não precisa estar Wakelock é uma “brecha legal” dentro da política agressiva de economia de energia
  15. 15. Globalcode – Open4education Como são usados Aplicação Ação feita Serviço que pegou Wakelock Comportamento Todas Toque em qualquer UI Widget (Botão ou ListView, etc) PowerManagerService Solicita e libera o lock após 5 segundos Maps / Navegação Lançar a App de Maps ou definer direções para navegação gps-lock Mantém o lock enquanto usa GPS YouTube Assistir à um vídeo PowerManagerService Wakelock mantido durante o período em que o video é reproduzido Music Player Tocar uma musica PowerManagerService Wakelock mantido durante o período em que a música toca
  16. 16. Globalcode – Open4education Wakelock Tipos CPU Tela Teclado PARTIAL_WAKE_LOCK On Off Off SCREEN_DIM_WAKE_LOCK On Dim Off SCREEN_BRIGHT_WAKE_LOCK On Bright Off FULL_WAKE_LOCK On Bright Bright Flags Descrição ACQUIRE_CAUSES_WAKEUP Force a tela e teclado a serem ligados assim que o wakelock for solicitado ON_AFTER_RELEASE Reinicia o timeout para que a tela seja desligada após a liberação do wakelock
  17. 17. Globalcode – Open4education Permissões necessárias “Prevent phone from sleeping.” AndroidManifest.xml:
  18. 18. Globalcode – Open4education Wakelock - demo
  19. 19. Globalcode – Open4education Melhore seus Gráficos Assim como seu processador, sua unidade gráfica consome energia Estratégias para economia: Simplifique as texturas Diminua o uso de transparências Diminua o número de objetos na tela Diminua o FPS
  20. 20. Globalcode – Open4education Como priorizar? Intel Graphics Performance Analyzer Conjunto de ferramentas para analize e otimização de aplicações com forte uso de gráficos
  21. 21. Globalcode – Open4education Conceitos básicos de GPU
  22. 22. Globalcode – Open4education Vértices
  23. 23. Globalcode – Open4education Primitivas
  24. 24. Globalcode – Open4education Fragmentos Rasterização Processamento de fragmentos
  25. 25. Globalcode – Open4education Pixels
  26. 26. Globalcode – Open4education Demo GPA Testes “E se …” Ajudam a identificar gargalos
  27. 27. Globalcode – Open4education Economizando Use I/O em batches Principalmente comunicação em rede Não use Wakelock Confie no Android, ele é legal Use o wakelock mais apropriado Nunca segure o wakelock sem necessidade Use broadcaster receivers só quando necessário Otimize sua aplicação gráfica com GPA Fundo de tela escuro
  28. 28. Globalcode – Open4education Me deixe dormir A bateria do seu dispositivo poderia durar semanas!
  29. 29. Globalcode – Open4education x86: O que não muda Aplicações Java Ferramentas fornecidas pelo Google Trabalhamos muito para você focar na sua App e não no processador
  30. 30. Globalcode – Open4education Emulador (HAXM) Android SDK manager já contém imagens Intel x86 Emulação muito mais rápida com a tecnologia Intel® VT-x: • HAXM para Mac e Windows • KVM para Linux*
  31. 31. Globalcode – Open4education Novidades Intel System Studio Beacon Montain Silvermont
  32. 32. Globalcode – Open4education Intel System Studio
  33. 33. Globalcode – Open4education Beacon Montain Ambiente de Desenvolvimento da Intel para te ajuda a desenvoler Apps Android Ferramentas Intel: •Intel® HAXM •Intel® GPA System Analyzer •Intel® Threading Building Blocks •Intel® Software Manager •Intel® Integrated Performance Primitives Preview Outras feramentas: •Google Android SDK (com ADT) •Android NDK •Eclipse •Android Design •Cygwin*
  34. 34. Globalcode – Open4education Silvermont Novo processador Atom Saindo de tecnologia 32nm para 22nm 3x mais desempenho ou; 5x menos consumo de energia
  35. 35. Parceiros de Software Desenvolvedores de Software Comunidade Global para Desenvolvimento de Software e Negócios Documentação Técnica, Guias e Forums de apoio Tendências e Idéias Recursos de Marketing e Vendas software.intel.com Seu principal recurso para desenvolvimento de Software e Negócios
  36. 36. Conteúdo Online em Português para dar suporte ao Desenvolvedor Quatro Novas Comunidades de Software locais Anunciando Melhorias no Suporte ao Desenvolvedor Brasileiro Comunidades Intel Software Network
  37. 37. Globalcode – Open4education Referências http://software.intel.com/articles/wakelocks-for-android http://developer.android.com/training/monitoring-device-state/index.html http://software.intel.com/articles/android-power-measurement- techniques http://developer.android.com/training/monitoring-device-state/index.html http://software.intel.com/en-us/articles/developing-power-aware- applications-on-android http://software.intel.com/en-us/articles/intel-hardware-accelerated- execution-manager/ http://software.intel.com/en-us/articles/installing-the-intel-atom-tm- android-x86-emulator-image-add-on-from-the-android-sdk-manager/ http://software.intel.com/en-us/vcsource/tools/beaconmountain
  38. 38. Globalcode – Open4education Contato George H. Silva @ghsilva george.silva@intel.com http://software.intel.com

×