Download - FISL14: Android sem gastarenergia
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õesHardware
Wakelocks
MedindoConsumo de Energia
Identificando consumo da GPU
Economizando
Android Intel InsideO que não muda
Emulador
Novidades
Conclusão
Globalcode – Open4education
FISL 14Lembre-se!
Wakelocks use só quando necessário
Pensou em emulador?
HAXM
Pensou em desempenho gráfico
GPA
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 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
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
Globalcode – Open4education
FISL 14Ciclo de desenvolvimento
Codificando sua aplicação
Debug & Teste
Otimize o desempenhoOtimize o consumo
Globalcode – Open4education
FISL 14Economizando
Por onde começar?
Por quem gasta mais
O que for mais rápido ou fácil de fazer
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
Wakelock é uma “brecha legal” dentro da política
agressiva de economia de energia
Globalcode – Open4education
FISL 14Como são usadosAplicaçã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
Globalcode – Open4education
FISL 14WakelockTipos 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
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
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
FISL 14Como priorizar?
Intel Graphics Performance Analyzer
Conjunto de ferramentas para analize e otimização de
aplicações com forte uso de gráficos
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
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
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ápida
com a tecnologia Intel® VT-x:
• HAXM para Mac e Windows
• KVM para Linux*
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 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*
Globalcode – Open4education
FISL 14Silvermont
Novo processador Atom
Saindo de tecnologia 32nm para 22nm
3x mais desempenho ou;
5x menos consumo de energia
Parceiros de SoftwareDesenvolvedores
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.comSeu principal recurso para desenvolvimento de Software e Negócios
Conteúdo Online em Português
para dar suporteao Desenvolvedor
Quatro NovasComunidadesde Software
locais
Anunciando Melhoriasno Suporte aoDesenvolvedorBrasileiro
Comunidades Intel Software Network
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
Globalcode – Open4education
FISL 14Contato
George H. Silva
@ghsilva
http://software.intel.com