Escreva sua App Android sem gastar energia

  • 266 views
Uploaded on

 

More in: Technology
  • 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
266
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
2
Comments
0
Likes
1

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
  • In terms of power, we measure the average device power of a smart phone with a LCD display when system is in idle with display on. We change the display backlight level from 10% to 100%. Figure 2 below shows the trend of the average power associated with backlight change. The figure shows, the higher the backlight brightness is, the more power the device consumes. Therefore, if the application provides the UI for the user to decrease the brightness level, the device battery can last longer. In this way, the user can trade-off some tolerable user experience to extend the battery life time.
  • ACQUIRE___WAKEUP -> Alarme -> SMS -> Ligação -> …. Mostraquetemosserviços de Sistema rodando
  • ComparandoYoutube e Musica Player -> Pressione o botão de travar a tela-> Aparece a primeiradiferença entrewakelocks
  • Sesuaempresa tem Apps legaisouvocê é um desenvolvedorusando frameworks NDK, converse comigoquenãoprecisarádescertanto o nível!
  • Skype, era umavez …É possíveldesativaralguns Broadcaster receivers mesmoquedefinidos no AndroidManifestDependendo da tecnologia da suatela, a cor dos pixels podegastarmenosenergia

Transcript

  • 1. Escreva sua App Android sem gastar energia Felipe Pedroso Community Manager Globalcode – Open4education
  • 2. Agenda Por que economizar? Vilões do consumo Como medir? O que fazer para economizar? Globalcode – Open4education
  • 3. Por que economizar? Experiência do Usuário Sucesso da sua App Globalcode – Open4education
  • 4. E o mais importante! Globalcode – Open4education
  • 5. Os Vilões do consumo Tela Processador GPU I/O Disco? Rede GPS Sua App? Globalcode – Open4education
  • 6. Tela Globalcode – Open4education
  • 7. GPS Globalcode – Open4education
  • 8. Wakelock Mecanismo para indicar que sua aplicação precisa que o dispositivo fique “ligado” 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
  • 9. 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
  • 10. 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 definir direções para navegação gps-lock Mantém o lock enquanto usa GPS YouTube Assistir a um vídeo PowerManagerService Wakelock mantido durante o período em que o vídeo é reproduzido Music Player Tocar uma música PowerManagerService Wakelock mantido durante o período em que a música toca Globalcode – Open4education
  • 11. Permissões necessárias AndroidManifest.xml: “Prevent phone from sleeping.” Globalcode – Open4education
  • 12. Como medir? 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 (precisa de acesso root ) Globalcode – Open4education
  • 13. Como medir? /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 adb shell dumpsys battery Globalcode – Open4education
  • 14. Como medir? Globalcode – Open4education
  • 15. Economizando Por onde começar? Por quem gasta mais (hotspots) O que for mais rápido ou fácil de fazer =P Globalcode – Open4education
  • 16. Ciclo de desenvolvimento Codificando sua aplicação Debug & Teste Otimize o consumo Otimize o desempenho Globalcode – Open4education
  • 17. Deixe-me dormir! A bateria do seu dispositivo poderia durar semanas! Globalcode – Open4education
  • 18. Economizando Cuidado com I/O! Principalmente comunicação em rede Não use Wakelock Confie no Android, ele é legal Se usar, escolha o mais adequado para sua App NUNCA segure o wakelock sem necessidade Use BroadcastReceiver só quando necessário Otimize sua aplicação gráfica Fundo de tela escuro? Globalcode – Open4education
  • 19. 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
  • 20. Como priorizar? Intel Graphics Performance Analyzers Conjunto de ferramentas para análise e otimização de aplicações com forte uso de gráficos Globalcode – Open4education
  • 21. Ciclo de Vida Globalcode – Open4education
  • 22. Android System Services Globalcode – Open4education
  • 23. Novidades – Android e Intel Bay Trail Beacon Mountain Intel Software Day 22 e 23 Outubro Emulador HAXM http://www.softwareday.com.br Globalcode – Open4education
  • 24. Globalcode – Open4education
  • 25. Beacon Mountain Globalcode – Open4education
  • 26. www.softwareday.com.br Globalcode – Open4education
  • 27. Take aways Economizar energia == Usuário feliz (true) Wakelocks: evite, mas se necessário use com moderação Otimizar gráficos faz bem para a saúde do telefone Globalcode – Open4education
  • 28. 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
  • 29. Contato Felipe Pedroso @felipeapedroso felipe.pedroso@intel.com http://software.intel.com Globalcode – Open4education