Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Escreva sua App Android sem gastar energia
Felipe Pedroso
Community Manager

Globalcode – Open4education
Agenda
Por que economizar?
Vilões do consumo
Como medir?
O que fazer para economizar?

Globalcode – Open4education
Por que economizar?
Experiência do Usuário
Sucesso da sua App

Globalcode – Open4education
E o mais importante!

Globalcode – Open4education
Os Vilões do consumo
Tela
Processador
GPU

I/O
Disco?
Rede

GPS
Sua App?
Globalcode – Open4education
Tela

Globalcode – Open4education
GPS

Globalcode – Open4education
Wakelock
Mecanismo para indicar que sua aplicação precisa
que o dispositivo fique “ligado”
Android assume que se a tela nã...
Wakelock
Tipos
PARTIAL_WAKE_LOCK

CPU Tela
On Off

Teclado
Off

SCREEN_DIM_WAKE_LOCK

On

Dim

Off

SCREEN_BRIGHT_WAKE_LOC...
Como são usados
Aplicação Ação feita
Todas

Serviço que pegou
Wakelock

Toque em qualquer UI Widget PowerManagerService
(B...
Permissões necessárias
AndroidManifest.xml:

“Prevent phone from sleeping.”

Globalcode – Open4education
Como medir?
Defina uma metodologia para sua App
Dicas:
Use as mesmas pré-condições
Entre em modo avião (operadora)
Deixe o...
Como medir?
/sys/class/power_supply/battery/uevent datafile
Informações disponíveis
POWER_SUPPLY_NAME
POWER_SUPPLY_STATUS
...
Como medir?

Globalcode – Open4education
Economizando

Por onde começar?
Por quem gasta mais (hotspots)
O que for mais rápido ou fácil de fazer =P

Globalcode – Op...
Ciclo de desenvolvimento
Codificando sua aplicação

Debug & Teste

Otimize o consumo

Otimize o desempenho

Globalcode – O...
Deixe-me dormir!

A bateria do seu dispositivo poderia durar semanas!

Globalcode – Open4education
Economizando
Cuidado com I/O!
Principalmente comunicação em rede

Não use Wakelock
Confie no Android, ele é legal
Se usar,...
Melhore seus Gráficos
Assim como seu processador, sua unidade gráfica
consome energia
Estratégias para economia:
Simplifiq...
Como priorizar?
Intel Graphics Performance Analyzers
Conjunto de ferramentas para análise e otimização de
aplicações com f...
Ciclo de Vida

Globalcode – Open4education
Android System Services

Globalcode – Open4education
Novidades – Android e Intel
Bay Trail
Beacon Mountain
Intel Software Day 22 e 23 Outubro

Emulador
HAXM

http://www.softwa...
Globalcode – Open4education
Beacon Mountain

Globalcode – Open4education
www.softwareday.com.br

Globalcode – Open4education
Take aways
Economizar energia == Usuário feliz (true)
Wakelocks: evite, mas se necessário use com
moderação
Otimizar gráfi...
Referências
http://software.intel.com/articles/wakelocks-for-android
http://developer.android.com/training/monitoring-devi...
Contato
Felipe Pedroso
@felipeapedroso
felipe.pedroso@intel.com
http://software.intel.com

Globalcode – Open4education
Upcoming SlideShare
Loading in …5
×

Escreva sua App Android sem gastar energia

527 views

Published on

Published in: Technology
  • Be the first to comment

Escreva sua App Android sem gastar energia

  1. 1. Escreva sua App Android sem gastar energia Felipe Pedroso Community Manager Globalcode – Open4education
  2. 2. Agenda Por que economizar? Vilões do consumo Como medir? O que fazer para economizar? Globalcode – Open4education
  3. 3. Por que economizar? Experiência do Usuário Sucesso da sua App Globalcode – Open4education
  4. 4. E o mais importante! Globalcode – Open4education
  5. 5. Os Vilões do consumo Tela Processador GPU I/O Disco? Rede GPS Sua App? Globalcode – Open4education
  6. 6. Tela Globalcode – Open4education
  7. 7. GPS Globalcode – Open4education
  8. 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. 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. 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. 11. Permissões necessárias AndroidManifest.xml: “Prevent phone from sleeping.” Globalcode – Open4education
  12. 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. 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. 14. Como medir? Globalcode – Open4education
  15. 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. 16. Ciclo de desenvolvimento Codificando sua aplicação Debug & Teste Otimize o consumo Otimize o desempenho Globalcode – Open4education
  17. 17. Deixe-me dormir! A bateria do seu dispositivo poderia durar semanas! Globalcode – Open4education
  18. 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. 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. 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. 21. Ciclo de Vida Globalcode – Open4education
  22. 22. Android System Services Globalcode – Open4education
  23. 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. 24. Globalcode – Open4education
  25. 25. Beacon Mountain Globalcode – Open4education
  26. 26. www.softwareday.com.br Globalcode – Open4education
  27. 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. 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. 29. Contato Felipe Pedroso @felipeapedroso felipe.pedroso@intel.com http://software.intel.com Globalcode – Open4education

×