SlideShare uma empresa Scribd logo
Escreva sua App Android sem gastar energia
George H. Silva
Android Community Manager

Globalcode – Open4education
Agenda
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

Globalcode – Open4education
Lembre-se!
Wakelocks
Pensou em emulador?
HAXM

Pensou em desempenho gráfico
Intel GPA

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

Globalcode – Open4education
Fato da vida real

Globalcode – Open4education
Quem são os gastões?
Tela
Processador
GPU
I/O
Disco?
Rede

GPS
Sua App

Globalcode – Open4education
Tela

Globalcode – Open4education
GPS

Globalcode – Open4education
Medindo
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 (precise de acesso root )

Globalcode – Open4education
Medindo 2
/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

Globalcode – Open4education
Medindo 3

Globalcode – Open4education
Ciclo de desenvolvimento
Codificando sua aplicação

Debug & Teste

Otimize o consumo

Otimize o desempenho

Globalcode – Open4education
Economizando
Por onde começar?
Por quem gasta mais
O que for mais rápido ou fácil de fazer

Globalcode – Open4education
Ciclo de Vida

Globalcode – Open4education
Wakelock
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
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 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
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
Permissões necessárias
AndroidManifest.xml:

“Prevent phone from sleeping.”

Globalcode – Open4education
Wakelock – demo

http://software.intel.com

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 Analyzer
Conjunto de ferramentas para analize e otimização de
aplicações com forte uso de gráficos

Globalcode – Open4education
Conceitos básicos de GPU

Globalcode – Open4education
Vértices

Globalcode – Open4education
Primitivas

Globalcode – Open4education
Fragmentos

Rasterização

Processamento de fragmentos

Globalcode – Open4education
Pixels

Globalcode – Open4education
Demo GPA
Testes “E se …”
Ajudam a identificar gargalos

Globalcode – Open4education
Economizando
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
Android System Services

Globalcode – Open4education
Novidades
Intel System Studio
Beacon Montain
Silvermont
Intel Software Day 22 e 23 Outubro

Emulador
HAXM

http://www.softwareday.com.br

Globalcode – Open4education
Silvermont
Novo processador Atom
Saindo de tecnologia 32nm para 22nm
3x mais desempenho ou;
5x menos consumo de energia

Globalcode – Open4education
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-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
Contato
George H. Silva
@ghsilva
george.silva@intel.com
http://software.intel.com

Globalcode – Open4education

Mais conteúdo relacionado

PDF
FISL14: Android sem gastarenergia
PDF
TDC-SP: Android sem gastar energia
PPT
Utilizando os Sensores dos Ultrabooks
PPTX
Desenvolvendo Interfaces Ricas em JavaFX para Ultrabooks
PDF
Gt n8010 jb-emb_br
PPTX
Flash & arduino (via Glue API) - (24 Jun 2010)
PDF
Gt p5100 jb-emb_br
PPTX
Iniciando o Desenvolvimento para o Google Android
FISL14: Android sem gastarenergia
TDC-SP: Android sem gastar energia
Utilizando os Sensores dos Ultrabooks
Desenvolvendo Interfaces Ricas em JavaFX para Ultrabooks
Gt n8010 jb-emb_br
Flash & arduino (via Glue API) - (24 Jun 2010)
Gt p5100 jb-emb_br
Iniciando o Desenvolvimento para o Google Android

Destaque (6)

PDF
Design Patterns for mobile apps
PDF
Capítulo 06 - Comunicação entre Activities e Intents Implícitas
PPTX
Programação Android - Básico
PDF
Introdução ao Android Studio
PDF
Desenvolvimento Android: Faça da maneira certa
PDF
Capítulo 04 - Persistência de dados com SQLite
Design Patterns for mobile apps
Capítulo 06 - Comunicação entre Activities e Intents Implícitas
Programação Android - Básico
Introdução ao Android Studio
Desenvolvimento Android: Faça da maneira certa
Capítulo 04 - Persistência de dados com SQLite
Anúncio

Semelhante a Escreva sua App Android sem gastar energia - Intel Sw Day (20)

PDF
Treinamento Android Nooclix
PDF
Implementando uma Device Farm Android
PDF
Teste de performance com JMeter: como criar e executar os testes em aplicaçõe...
PDF
Capítulo 01 - Fundamentos de Android e o HelloWorld
PDF
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
DOCX
Resultados da prova it essentians
PDF
Manual lenovo x200
PDF
Manual Placa Mãe Phitronics - P7I45GC-M.pdf
PDF
PDF
Dojo com Arduino e Program-ME
PPTX
Aula08 android outros_recursos
PDF
manual de como utilizar ou ajustar sungsumg.pdf
PDF
Supervisão
PDF
Copbr dvr slc - ldc
PDF
Curso mbed e FRDM KL46Z da NXP
PDF
Curso de Android - aula 2
PPTX
Apresentação android
PDF
Phonegap
PDF
Android: Conheça o Futuro Inevitável
PDF
Manual usuario
Treinamento Android Nooclix
Implementando uma Device Farm Android
Teste de performance com JMeter: como criar e executar os testes em aplicaçõe...
Capítulo 01 - Fundamentos de Android e o HelloWorld
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
Resultados da prova it essentians
Manual lenovo x200
Manual Placa Mãe Phitronics - P7I45GC-M.pdf
Dojo com Arduino e Program-ME
Aula08 android outros_recursos
manual de como utilizar ou ajustar sungsumg.pdf
Supervisão
Copbr dvr slc - ldc
Curso mbed e FRDM KL46Z da NXP
Curso de Android - aula 2
Apresentação android
Phonegap
Android: Conheça o Futuro Inevitável
Manual usuario
Anúncio

Mais de Intel Software Brasil (20)

PPTX
Modernização de código em Xeon® e Xeon Phi™
PDF
Escreva sua App sem gastar energia, agora no KitKat
PDF
Desafios do Desenvolvimento Multiplataforma
PDF
Desafios do Desenvolvimento Multi-plataforma
PDF
Yocto - 7 masters
PDF
Getting the maximum performance in distributed clusters Intel Cluster Studio XE
PDF
Intel tools to optimize HPC systems
PDF
Methods and practices to analyze the performance of your application with Int...
PDF
Principais conceitos técnicas e modelos de programação paralela
PDF
Principais conceitos e técnicas em vetorização
PDF
Notes on NUMA architecture
PDF
Intel Technologies for High Performance Computing
PDF
Benchmarking para sistemas de alto desempenho
PDF
Yocto no 1 IoT Day da Telefonica/Vivo
PDF
Html5 fisl15
PDF
PDF
IoT TDC Floripa 2014
PDF
Otávio Salvador - Yocto project reduzindo -time to market- do seu próximo pr...
PDF
Html5 tdc floripa_2014
PDF
Desenvolvimento e análise de performance de jogos Android com Coco2d-HTML5
Modernização de código em Xeon® e Xeon Phi™
Escreva sua App sem gastar energia, agora no KitKat
Desafios do Desenvolvimento Multiplataforma
Desafios do Desenvolvimento Multi-plataforma
Yocto - 7 masters
Getting the maximum performance in distributed clusters Intel Cluster Studio XE
Intel tools to optimize HPC systems
Methods and practices to analyze the performance of your application with Int...
Principais conceitos técnicas e modelos de programação paralela
Principais conceitos e técnicas em vetorização
Notes on NUMA architecture
Intel Technologies for High Performance Computing
Benchmarking para sistemas de alto desempenho
Yocto no 1 IoT Day da Telefonica/Vivo
Html5 fisl15
IoT TDC Floripa 2014
Otávio Salvador - Yocto project reduzindo -time to market- do seu próximo pr...
Html5 tdc floripa_2014
Desenvolvimento e análise de performance de jogos Android com Coco2d-HTML5

Escreva sua App Android sem gastar energia - Intel Sw Day