escreva sua app android sem gastar energia

Post on 24-May-2015

320 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

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

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á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