escreva sua app android sem gastar energia
Post on 24-May-2015
320 Views
Preview:
TRANSCRIPT
Globalcode – Open4education
Escreva sua App Android sem gastar energia
Felipe PedrosoCommunity 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ã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
WakelockTipos 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
Globalcode – Open4education
Como são usadosAplicação Ação feita Serviço que pegou
WakelockComportamento
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 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
Permissões necessárias
“Prevent phone from sleeping.”
AndroidManifest.xml:
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 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
Como medir?
/sys/class/power_supply/battery/uevent datafile
adb shell dumpsys battery
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-HrPOWER_SUPPLY_CHARGE_NOW Watt-Hr
Globalcode – Open4education
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 – Open4education
Ciclo de desenvolvimento
Codificando sua aplicação
Debug & Teste
Otimize o desempenhoOtimize o consumo
Globalcode – Open4education
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, 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
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
Como priorizar?
Intel Graphics Performance AnalyzersConjunto de ferramentas para análise e otimização de aplicações com forte uso de gráficos
Globalcode – Open4education
Ciclo de Vida
Globalcode – Open4education
Android System Services
Globalcode – Open4education
Novidades – Android e Intel
Bay Trail
Beacon Mountain
Intel Software Day 22 e 23 Outubrohttp://www.softwareday.com.br
Emulador HAXM
Globalcode – Open4education
Globalcode – Open4education
Beacon Mountain
Globalcode – Open4education
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
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-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
Globalcode – Open4education
Contato
Felipe Pedroso
@felipeapedroso
felipe.pedroso@intel.com
http://software.intel.com
top related