FISL14: Android sem gastarenergia

2,015 views

Published on

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,015
On SlideShare
0
From Embeds
0
Number of Embeds
1,013
Actions
Shares
0
Downloads
8
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

FISL14: Android sem gastarenergia

  1. 1. Globalcode – Open4education FISL 14 Escreva sua App Android sem gastar energia George H. Silva Android Community Manager
  2. 2. Globalcode – Open4education FISL 14Agenda 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 FISL 14Lembre-se! Wakelocks use só quando necessário Pensou em emulador? HAXM Pensou em desempenho gráfico GPA
  4. 4. Globalcode – Open4education FISL 14Por que economizar? Experiência do Usuário Sucesso da sua App
  5. 5. Globalcode – Open4education FISL 14Quem são os gastões? Tela Processador GPU I/O Disco? Rede GPS Sua App
  6. 6. Globalcode – Open4education FISL 14Tela
  7. 7. Globalcode – Open4education FISL 14GPS
  8. 8. Globalcode – Open4education FISL 14Medindo 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
  9. 9. Globalcode – Open4education FISL 14Medindo 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 FISL 14Ciclo de desenvolvimento Codificando sua aplicação Debug & Teste Otimize o desempenhoOtimize o consumo
  11. 11. Globalcode – Open4education FISL 14Economizando Por onde começar? Por quem gasta mais O que for mais rápido ou fácil de fazer
  12. 12. Globalcode – Open4education FISL 14Ciclo de Vida
  13. 13. Globalcode – Open4education FISL 14Wakelock 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
  14. 14. Globalcode – Open4education FISL 14Como 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
  15. 15. Globalcode – Open4education FISL 14Wakelock 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
  16. 16. Globalcode – Open4education FISL 14Permissões necessárias “Prevent phone from sleeping.” AndroidManifest.xml:
  17. 17. Globalcode – Open4education FISL 14Medindo 3
  18. 18. Globalcode – Open4education FISL 14Wakelock - demo
  19. 19. Globalcode – Open4education FISL 14Melhore 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 FISL 14Como 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 FISL 14Conceitos básicos de GPU
  22. 22. Globalcode – Open4education FISL 14Vértices
  23. 23. Globalcode – Open4education FISL 14Primitivas
  24. 24. Globalcode – Open4education FISL 14Fragmentos Rasterização Processamento de fragmentos
  25. 25. Globalcode – Open4education FISL 14Pixels
  26. 26. Globalcode – Open4education FISL 14Demo GPA Testes “E se …” Ajudam a identificar gargalos
  27. 27. Globalcode – Open4education FISL 14Economizando 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 FISL 14Me deixe dormir A bateria do seu dispositivo poderia durar semanas!
  29. 29. Globalcode – Open4education FISL 14Emulador (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*
  30. 30. Globalcode – Open4education FISL 14Novidades Intel System Studio Beacon Montain Silvermont
  31. 31. Globalcode – Open4education FISL 14Beacon 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*
  32. 32. Globalcode – Open4education FISL 14Silvermont Novo processador Atom Saindo de tecnologia 32nm para 22nm 3x mais desempenho ou; 5x menos consumo de energia
  33. 33. 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
  34. 34. 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
  35. 35. Globalcode – Open4education FISL 14Referê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
  36. 36. Globalcode – Open4education FISL 14Contato George H. Silva @ghsilva george.silva@intel.com http://software.intel.com

×