Escreva sua App Android sem gastar energia - Intel Sw Day

614 views

Published on

Entenda como o Android usa Wakelocks, como medir o consumo de energia de sua App Android e técnicas para reduzir esse gasto.

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
614
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
8
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Escreva sua App Android sem gastar energia - Intel Sw Day

  1. 1. Escreva sua App Android sem gastar energia George H. Silva Android Community Manager Globalcode – Open4education
  2. 2. 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 Globalcode – Open4education
  3. 3. Lembre-se! Wakelocks Pensou em emulador? HAXM Pensou em desempenho gráfico Intel GPA Globalcode – Open4education
  4. 4. Por que economizar? Experiência do Usuário Sucesso da sua App Globalcode – Open4education
  5. 5. Fato da vida real Globalcode – Open4education
  6. 6. Quem são os gastões? Tela Processador GPU I/O Disco? Rede GPS Sua App Globalcode – Open4education
  7. 7. Tela Globalcode – Open4education
  8. 8. GPS Globalcode – Open4education
  9. 9. 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 ) Globalcode – Open4education
  10. 10. Medindo 2 /sys/class/power_supply/battery/uevent datafile Informações disponíveis POWER_SUPPLY_NAME POWER_SUPPLY_STATUS POWER_SUPPLY_VOLTAGE_NOW POWER_SUPPLY_CURRENT_NOW POWER_SUPPLY_CHARGE_FULL POWER_SUPPLY_CHARGE_NOW “usb”, “ac_charger” 0/1 uV / mV uA Watt-Hr Watt-Hr Globalcode – Open4education
  11. 11. Medindo 3 Globalcode – Open4education
  12. 12. Ciclo de desenvolvimento Codificando sua aplicação Debug & Teste Otimize o consumo Otimize o desempenho Globalcode – Open4education
  13. 13. Economizando Por onde começar? Por quem gasta mais O que for mais rápido ou fácil de fazer Globalcode – Open4education
  14. 14. Ciclo de Vida Globalcode – Open4education
  15. 15. 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 Globalcode – Open4education
  16. 16. Como são usados Aplicação Ação feita Todas Serviço que pegou Wakelock Toque em qualquer UI Widget PowerManagerService (Botão ou ListView, etc) Comportamento Solicita e libera o lock após 5 segundos Maps / Lançar a App de Maps ou Navegação 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 Globalcode – Open4education
  17. 17. Wakelock Tipos PARTIAL_WAKE_LOCK CPU Tela On Off Teclado Off SCREEN_DIM_WAKE_LOCK On Dim Off SCREEN_BRIGHT_WAKE_LOCK On Bright Off FULL_WAKE_LOCK Bright Bright Flags ACQUIRE_CAUSES_WAKEUP ON_AFTER_RELEASE On Descrição Force a tela e teclado a serem ligados assim que o wakelock for solicitado Reinicia o timeout para que a tela seja desligada após a liberação do wakelock Globalcode – Open4education
  18. 18. Permissões necessárias AndroidManifest.xml: “Prevent phone from sleeping.” Globalcode – Open4education
  19. 19. Wakelock – demo http://software.intel.com Globalcode – Open4education
  20. 20. 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 Globalcode – Open4education
  21. 21. Como priorizar? Intel Graphics Performance Analyzer Conjunto de ferramentas para analize e otimização de aplicações com forte uso de gráficos Globalcode – Open4education
  22. 22. Conceitos básicos de GPU Globalcode – Open4education
  23. 23. Vértices Globalcode – Open4education
  24. 24. Primitivas Globalcode – Open4education
  25. 25. Fragmentos Rasterização Processamento de fragmentos Globalcode – Open4education
  26. 26. Pixels Globalcode – Open4education
  27. 27. Demo GPA Testes “E se …” Ajudam a identificar gargalos Globalcode – Open4education
  28. 28. 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 Globalcode – Open4education
  29. 29. Android System Services Globalcode – Open4education
  30. 30. Novidades Intel System Studio Beacon Montain Silvermont Intel Software Day 22 e 23 Outubro Emulador HAXM http://www.softwareday.com.br Globalcode – Open4education
  31. 31. Silvermont Novo processador Atom Saindo de tecnologia 32nm para 22nm 3x mais desempenho ou; 5x menos consumo de energia Globalcode – Open4education
  32. 32. Globalcode – Open4education
  33. 33. 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-measurementtechniques http://developer.android.com/training/monitoring-device-state/index.html http://software.intel.com/en-us/articles/developing-power-awareapplications-on-android http://software.intel.com/en-us/articles/intel-hardware-acceleratedexecution-manager/ http://software.intel.com/en-us/articles/installing-the-intel-atom-tmandroid-x86-emulator-image-add-on-from-the-android-sdk-manager/ http://software.intel.com/en-us/vcsource/tools/beaconmountain Globalcode – Open4education
  34. 34. Contato George H. Silva @ghsilva george.silva@intel.com http://software.intel.com Globalcode – Open4education

×