Android Community Manager€¦ · Por onde começar? Por quem gasta mais O que for mais rápido ou...

38
Globalcode – Open4education Escreva sua App Android sem gastar energia George H. Silva Android Community Manager

Transcript of Android Community Manager€¦ · Por onde começar? Por quem gasta mais O que for mais rápido ou...

Page 1: Android Community Manager€¦ · Por onde começar? Por quem gasta mais O que for mais rápido ou fácil de fazer. ... Wakelock Android assume que se a tela não está ligada, a

Globalcode – Open4education

Escreva sua App Android sem gastar energia

George H. Silva

Android Community Manager

Page 2: Android Community Manager€¦ · Por onde começar? Por quem gasta mais O que for mais rápido ou fácil de fazer. ... Wakelock Android assume que se a tela não está ligada, a

Globalcode – Open4education

Agenda

Por que economizar?

Quem são os gastõesHardware

Wake locks

MedindoConsumo de Energia

Identificando consumo da GPU

Economizando

Android Intel InsideO que não muda

Emulador

Novidades

Conclusão

Page 3: Android Community Manager€¦ · Por onde começar? Por quem gasta mais O que for mais rápido ou fácil de fazer. ... Wakelock Android assume que se a tela não está ligada, a

Globalcode – Open4education

Lembre-se!

Wakelocks

Pensou em emulador?

HAXM

Pensou em desempenho gráfico

GPA

Page 4: Android Community Manager€¦ · Por onde começar? Por quem gasta mais O que for mais rápido ou fácil de fazer. ... Wakelock Android assume que se a tela não está ligada, a

Globalcode – Open4education

Por que economizar?

Experiência do Usuário

Sucesso da sua App

Page 5: Android Community Manager€¦ · Por onde começar? Por quem gasta mais O que for mais rápido ou fácil de fazer. ... Wakelock Android assume que se a tela não está ligada, a

Globalcode – Open4education

Quem são os gastões?

Tela

Processador

GPU

I/O

Disco?

Rede

GPS

Sua App

Page 6: Android Community Manager€¦ · Por onde começar? Por quem gasta mais O que for mais rápido ou fácil de fazer. ... Wakelock Android assume que se a tela não está ligada, a

Globalcode – Open4education

Tela

Page 7: Android Community Manager€¦ · Por onde começar? Por quem gasta mais O que for mais rápido ou fácil de fazer. ... Wakelock Android assume que se a tela não está ligada, a

Globalcode – Open4education

GPS

Page 8: Android Community Manager€¦ · Por onde começar? Por quem gasta mais O que for mais rápido ou fácil de fazer. ... Wakelock Android assume que se a tela não está ligada, a

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

Page 9: Android Community Manager€¦ · Por onde começar? Por quem gasta mais O que for mais rápido ou fácil de fazer. ... Wakelock Android assume que se a tela não está ligada, a

Globalcode – Open4education

Medindo 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

Page 10: Android Community Manager€¦ · Por onde começar? Por quem gasta mais O que for mais rápido ou fácil de fazer. ... Wakelock Android assume que se a tela não está ligada, a

Globalcode – Open4education

Medindo 3

Page 11: Android Community Manager€¦ · Por onde começar? Por quem gasta mais O que for mais rápido ou fácil de fazer. ... Wakelock Android assume que se a tela não está ligada, a

Globalcode – Open4education

Ciclo de desenvolvimento

Codificando sua aplicação

Debug & Teste

Otimize o desempenhoOtimize o consumo

Page 12: Android Community Manager€¦ · Por onde começar? Por quem gasta mais O que for mais rápido ou fácil de fazer. ... Wakelock Android assume que se a tela não está ligada, a

Globalcode – Open4education

Economizando

Por onde começar?

Por quem gasta mais

O que for mais rápido ou fácil de fazer

Page 13: Android Community Manager€¦ · Por onde começar? Por quem gasta mais O que for mais rápido ou fácil de fazer. ... Wakelock Android assume que se a tela não está ligada, a

Globalcode – Open4education

Ciclo de Vida

Page 14: Android Community Manager€¦ · Por onde começar? Por quem gasta mais O que for mais rápido ou fácil de fazer. ... Wakelock Android assume que se a tela não está ligada, a

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

Page 15: Android Community Manager€¦ · Por onde começar? Por quem gasta mais O que for mais rápido ou fácil de fazer. ... Wakelock Android assume que se a tela não está ligada, a

Globalcode – Open4education

Como 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

Page 16: Android Community Manager€¦ · Por onde começar? Por quem gasta mais O que for mais rápido ou fácil de fazer. ... Wakelock Android assume que se a tela não está ligada, a

Globalcode – Open4education

Wake LockTipos 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

Page 17: Android Community Manager€¦ · Por onde começar? Por quem gasta mais O que for mais rápido ou fácil de fazer. ... Wakelock Android assume que se a tela não está ligada, a

Globalcode – Open4education

Permissões necessárias

“Prevent phone from sleeping.”

AndroidManifest.xml:

Page 18: Android Community Manager€¦ · Por onde começar? Por quem gasta mais O que for mais rápido ou fácil de fazer. ... Wakelock Android assume que se a tela não está ligada, a

Globalcode – Open4education

Wakelock - demo

Page 19: Android Community Manager€¦ · Por onde começar? Por quem gasta mais O que for mais rápido ou fácil de fazer. ... Wakelock Android assume que se a tela não está ligada, a

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

Page 20: Android Community Manager€¦ · Por onde começar? Por quem gasta mais O que for mais rápido ou fácil de fazer. ... Wakelock Android assume que se a tela não está ligada, a

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

Page 21: Android Community Manager€¦ · Por onde começar? Por quem gasta mais O que for mais rápido ou fácil de fazer. ... Wakelock Android assume que se a tela não está ligada, a

Globalcode – Open4education

Conceitos básicos de GPU

Page 22: Android Community Manager€¦ · Por onde começar? Por quem gasta mais O que for mais rápido ou fácil de fazer. ... Wakelock Android assume que se a tela não está ligada, a

Globalcode – Open4education

Vértices

Page 23: Android Community Manager€¦ · Por onde começar? Por quem gasta mais O que for mais rápido ou fácil de fazer. ... Wakelock Android assume que se a tela não está ligada, a

Globalcode – Open4education

Primitivas

Page 24: Android Community Manager€¦ · Por onde começar? Por quem gasta mais O que for mais rápido ou fácil de fazer. ... Wakelock Android assume que se a tela não está ligada, a

Globalcode – Open4education

Fragmentos

Rasterização Processamento de fragmentos

Page 25: Android Community Manager€¦ · Por onde começar? Por quem gasta mais O que for mais rápido ou fácil de fazer. ... Wakelock Android assume que se a tela não está ligada, a

Globalcode – Open4education

Pixels

Page 26: Android Community Manager€¦ · Por onde começar? Por quem gasta mais O que for mais rápido ou fácil de fazer. ... Wakelock Android assume que se a tela não está ligada, a

Globalcode – Open4education

Demo GPA

Testes “E se …”

Ajudam a identificar gargalos

Page 27: Android Community Manager€¦ · Por onde começar? Por quem gasta mais O que for mais rápido ou fácil de fazer. ... Wakelock Android assume que se a tela não está ligada, a

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

Page 28: Android Community Manager€¦ · Por onde começar? Por quem gasta mais O que for mais rápido ou fácil de fazer. ... Wakelock Android assume que se a tela não está ligada, a

Globalcode – Open4education

Me deixe dormir

A bateria do seu dispositivo poderia durar semanas!

Page 29: Android Community Manager€¦ · Por onde começar? Por quem gasta mais O que for mais rápido ou fácil de fazer. ... Wakelock Android assume que se a tela não está ligada, a

Globalcode – Open4education

x86: O que não muda

Aplicações Java

Ferramentas fornecidas pelo Google

Trabalhamos muito para você focar na sua App e

não no processador

Page 30: Android Community Manager€¦ · Por onde começar? Por quem gasta mais O que for mais rápido ou fácil de fazer. ... Wakelock Android assume que se a tela não está ligada, a

Globalcode – Open4education

Emulador (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*

Page 31: Android Community Manager€¦ · Por onde começar? Por quem gasta mais O que for mais rápido ou fácil de fazer. ... Wakelock Android assume que se a tela não está ligada, a

Globalcode – Open4education

Novidades

Intel System Studio

Beacon Montain

Silvermont

Page 32: Android Community Manager€¦ · Por onde começar? Por quem gasta mais O que for mais rápido ou fácil de fazer. ... Wakelock Android assume que se a tela não está ligada, a

Globalcode – Open4education

Intel System Studio

Page 33: Android Community Manager€¦ · Por onde começar? Por quem gasta mais O que for mais rápido ou fácil de fazer. ... Wakelock Android assume que se a tela não está ligada, a

Globalcode – Open4education

Beacon 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*

Page 34: Android Community Manager€¦ · Por onde começar? Por quem gasta mais O que for mais rápido ou fácil de fazer. ... Wakelock Android assume que se a tela não está ligada, a

Globalcode – Open4education

Silvermont

Novo processador Atom

Saindo de tecnologia 32nm para 22nm

3x mais desempenho ou;

5x menos consumo de energia

Page 35: Android Community Manager€¦ · Por onde começar? Por quem gasta mais O que for mais rápido ou fácil de fazer. ... Wakelock Android assume que se a tela não está ligada, a

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

Page 36: Android Community Manager€¦ · Por onde começar? Por quem gasta mais O que for mais rápido ou fácil de fazer. ... Wakelock Android assume que se a tela não está ligada, a

Conteúdo Online em Português

para dar suporteao Desenvolvedor

Quatro NovasComunidadesde Software

locais

Anunciando Melhoriasno Suporte aoDesenvolvedorBrasileiro

Comunidades Intel Software Network

Page 37: Android Community Manager€¦ · Por onde começar? Por quem gasta mais O que for mais rápido ou fácil de fazer. ... Wakelock Android assume que se a tela não está ligada, a

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

Page 38: Android Community Manager€¦ · Por onde começar? Por quem gasta mais O que for mais rápido ou fácil de fazer. ... Wakelock Android assume que se a tela não está ligada, a

Globalcode – Open4education

Contato

George H. Silva

@ghsilva

[email protected]

http://software.intel.com