FISL14: Android sem gastarenergia

  • 1,356 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,356
On Slideshare
0
From Embeds
0
Number of Embeds
33

Actions

Shares
Downloads
7
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

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