Escreva sua App Android sem gastar energia
Felipe Pedroso
Community 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ã...
Wakelock
Tipos
PARTIAL_WAKE_LOCK

CPU Tela
On Off

Teclado
Off

SCREEN_DIM_WAKE_LOCK

On

Dim

Off

SCREEN_BRIGHT_WAKE_LOC...
Como são usados
Aplicação Ação feita
Todas

Serviço que pegou
Wakelock

Toque em qualquer UI Widget PowerManagerService
(B...
Permissões necessárias
AndroidManifest.xml:

“Prevent phone from sleeping.”

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...
Como medir?
/sys/class/power_supply/battery/uevent datafile
Informações disponíveis
POWER_SUPPLY_NAME
POWER_SUPPLY_STATUS
...
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 – Op...
Ciclo de desenvolvimento
Codificando sua aplicação

Debug & Teste

Otimize o consumo

Otimize o desempenho

Globalcode – O...
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,...
Melhore seus Gráficos
Assim como seu processador, sua unidade gráfica
consome energia
Estratégias para economia:
Simplifiq...
Como priorizar?
Intel Graphics Performance Analyzers
Conjunto de ferramentas para análise e otimização de
aplicações com f...
Ciclo de Vida

Globalcode – Open4education
Android System Services

Globalcode – Open4education
Novidades – Android e Intel
Bay Trail
Beacon Mountain
Intel Software Day 22 e 23 Outubro

Emulador
HAXM

http://www.softwa...
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áfi...
Referências
http://software.intel.com/articles/wakelocks-for-android
http://developer.android.com/training/monitoring-devi...
Contato
Felipe Pedroso
@felipeapedroso
felipe.pedroso@intel.com
http://software.intel.com

Globalcode – Open4education
Upcoming SlideShare
Loading in …5
×

Escreva sua App Android sem gastar energia

439 views
390 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
439
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
3
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • In terms of power, we measure the average device power of a smart phone with a LCD display when system is in idle with display on. We change the display backlight level from 10% to 100%. Figure 2 below shows the trend of the average power associated with backlight change. The figure shows, the higher the backlight brightness is, the more power the device consumes. Therefore, if the application provides the UI for the user to decrease the brightness level, the device battery can last longer. In this way, the user can trade-off some tolerable user experience to extend the battery life time.
  • ACQUIRE___WAKEUP -> Alarme -> SMS -> Ligação -> …. Mostraquetemosserviços de Sistema rodando
  • ComparandoYoutube e Musica Player -> Pressione o botão de travar a tela-> Aparece a primeiradiferença entrewakelocks
  • Sesuaempresa tem Apps legaisouvocê é um desenvolvedorusando frameworks NDK, converse comigoquenãoprecisarádescertanto o nível!
  • Skype, era umavez …É possíveldesativaralguns Broadcaster receivers mesmoquedefinidos no AndroidManifestDependendo da tecnologia da suatela, a cor dos pixels podegastarmenosenergia
  • Escreva sua App Android sem gastar energia

    1. 1. Escreva sua App Android sem gastar energia Felipe Pedroso Community Manager Globalcode – Open4education
    2. 2. Agenda Por que economizar? Vilões do consumo Como medir? O que fazer para economizar? Globalcode – Open4education
    3. 3. Por que economizar? Experiência do Usuário Sucesso da sua App Globalcode – Open4education
    4. 4. E o mais importante! Globalcode – Open4education
    5. 5. Os Vilões do consumo Tela Processador GPU I/O Disco? Rede GPS Sua App? Globalcode – Open4education
    6. 6. Tela Globalcode – Open4education
    7. 7. GPS Globalcode – Open4education
    8. 8. 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
    9. 9. 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
    10. 10. 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 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
    11. 11. Permissões necessárias AndroidManifest.xml: “Prevent phone from sleeping.” Globalcode – Open4education
    12. 12. 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
    13. 13. Como medir? /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 adb shell dumpsys battery Globalcode – Open4education
    14. 14. Como medir? Globalcode – Open4education
    15. 15. Economizando Por onde começar? Por quem gasta mais (hotspots) O que for mais rápido ou fácil de fazer =P Globalcode – Open4education
    16. 16. Ciclo de desenvolvimento Codificando sua aplicação Debug & Teste Otimize o consumo Otimize o desempenho Globalcode – Open4education
    17. 17. Deixe-me dormir! A bateria do seu dispositivo poderia durar semanas! Globalcode – Open4education
    18. 18. 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
    19. 19. 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
    20. 20. Como priorizar? Intel Graphics Performance Analyzers Conjunto de ferramentas para análise e otimização de aplicações com forte uso de gráficos Globalcode – Open4education
    21. 21. Ciclo de Vida Globalcode – Open4education
    22. 22. Android System Services Globalcode – Open4education
    23. 23. Novidades – Android e Intel Bay Trail Beacon Mountain Intel Software Day 22 e 23 Outubro Emulador HAXM http://www.softwareday.com.br Globalcode – Open4education
    24. 24. Globalcode – Open4education
    25. 25. Beacon Mountain Globalcode – Open4education
    26. 26. www.softwareday.com.br Globalcode – Open4education
    27. 27. 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
    28. 28. 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
    29. 29. Contato Felipe Pedroso @felipeapedroso felipe.pedroso@intel.com http://software.intel.com Globalcode – Open4education

    ×