Globalcode – Open4education
FISL 14
Escreva sua App Android sem gastar energia
George H. Silva
Android Community Manager
Globalcode – Open4education
FISL 14Agenda
Por que economizar?
Quem são os gastões
Hardware
Wakelocks
Medindo
Consumo de En...
Globalcode – Open4education
FISL 14Lembre-se!
Wakelocks use só quando necessário
Pensou em emulador?
HAXM
Pensou em desemp...
Globalcode – Open4education
FISL 14Por que economizar?
Experiência do Usuário
Sucesso da sua App
Globalcode – Open4education
FISL 14Quem são os gastões?
Tela
Processador
GPU
I/O
Disco?
Rede
GPS
Sua App
Globalcode – Open4education
FISL 14Tela
Globalcode – Open4education
FISL 14GPS
Globalcode – Open4education
FISL 14Medindo
Defina uma metodologia para sua App
Dicas:
Use as mesmas pré condições
Entre em...
Globalcode – Open4education
FISL 14Medindo 2
/sys/class/power_supply/battery/uevent datafile
Informações disponíveis
POWER...
Globalcode – Open4education
FISL 14Ciclo de desenvolvimento
Codificando sua aplicação
Debug & Teste
Otimize o desempenhoOt...
Globalcode – Open4education
FISL 14Economizando
Por onde começar?
Por quem gasta mais
O que for mais rápido ou fácil de fa...
Globalcode – Open4education
FISL 14Ciclo de Vida
Globalcode – Open4education
FISL 14Wakelock
Android assume que se a tela não está ligada, a
CPU também não precisa estar
W...
Globalcode – Open4education
FISL 14Como são usados
Aplicação Ação feita Serviço que pegou
Wakelock
Comportamento
Todas Toq...
Globalcode – Open4education
FISL 14Wakelock
Tipos CPU Tela Teclado
PARTIAL_WAKE_LOCK On Off Off
SCREEN_DIM_WAKE_LOCK On Di...
Globalcode – Open4education
FISL 14Permissões necessárias
“Prevent phone from sleeping.”
AndroidManifest.xml:
Globalcode – Open4education
FISL 14Medindo 3
Globalcode – Open4education
FISL 14Wakelock - demo
Globalcode – Open4education
FISL 14Melhore seus Gráficos
Assim como seu processador, sua unidade gráfica
consome energia
E...
Globalcode – Open4education
FISL 14Como priorizar?
Intel Graphics Performance Analyzer
Conjunto de ferramentas para analiz...
Globalcode – Open4education
FISL 14Conceitos básicos de GPU
Globalcode – Open4education
FISL 14Vértices
Globalcode – Open4education
FISL 14Primitivas
Globalcode – Open4education
FISL 14Fragmentos
Rasterização Processamento de fragmentos
Globalcode – Open4education
FISL 14Pixels
Globalcode – Open4education
FISL 14Demo GPA
Testes “E se …”
Ajudam a identificar gargalos
Globalcode – Open4education
FISL 14Economizando
Use I/O em batches
Principalmente comunicação em rede
Não use Wakelock
Con...
Globalcode – Open4education
FISL 14Me deixe dormir
A bateria do seu dispositivo poderia durar semanas!
Globalcode – Open4education
FISL 14Emulador (HAXM)
Android SDK manager já contém
imagens Intel x86
Emulação muito mais ráp...
Globalcode – Open4education
FISL 14Novidades
Intel System Studio
Beacon Montain
Silvermont
Globalcode – Open4education
FISL 14Beacon Montain
Ambiente de Desenvolvimento da Intel para te
ajuda a desenvoler Apps And...
Globalcode – Open4education
FISL 14Silvermont
Novo processador Atom
Saindo de tecnologia 32nm para 22nm
3x mais desempenho...
Parceiros de Software
Desenvolvedores
de Software
Comunidade Global
para Desenvolvimento
de Software e Negócios
Documentaç...
Conteúdo Online
em Português
para dar suporte
ao Desenvolvedor
Quatro Novas
Comunidades
de Software
locais
Anunciando Melh...
Globalcode – Open4education
FISL 14Referências
http://software.intel.com/articles/wakelocks-for-android
http://developer.a...
Globalcode – Open4education
FISL 14Contato
George H. Silva
@ghsilva
george.silva@intel.com
http://software.intel.com
Upcoming SlideShare
Loading in …5
×

FISL14: Android sem gastarenergia

2,051 views

Published on

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

No Downloads
Views
Total views
2,051
On SlideShare
0
From Embeds
0
Number of Embeds
1,030
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

×