Escreva sua App sem gastar energia, agora no KitKat

670 views

Published on

Conheça as novidades que o KitKat trouxe relacionadas a economia, como isso pode afetar sua aplicação e como você pode ajudar o Android a gastar menos energia

Published in: Mobile
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
670
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
6
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Escreva sua App sem gastar energia, agora no KitKat

  1. 1. Globalcode – Open4education TDC2014 Escreva sua App sem gastar energia, agora no KitKat George H. Silva Android Community Manager
  2. 2. Globalcode – Open4education TDC2014 Agenda Qual o problema? Novidades KitKat Estudo de consumo de energia
  3. 3. Globalcode – Open4education TDC2014 Lembre-se! Processos em Batch! Emulador está lento? HAXM Medindo consumo de energia GPA
  4. 4. Globalcode – Open4education TDC2014 Por que energia? A Intel tem ótimas ferramentas te auxiliar? Sim Mas não é por isso? Por que eu já fiz uma palestra sobre isso? Não por que não consigo repetir muito uma palestra Então por quê?
  5. 5. Globalcode – Open4education TDC2014 Quem se arrisca? Primeira preocupação das plataformas móveis O Mercado evolui muito de um ano para o outro … e o Android KitKat não me deixa mentir Energia permeia todos os aspectos da mobilidade
  6. 6. Globalcode – Open4education TDC2014 Palestra - Ubiratan Soares Escolha de estrutura de dados Uso de memória Melhores algoritmos Garbage Collection
  7. 7. Globalcode – Open4education TDC2014 Arquitetura da solução
  8. 8. Globalcode – Open4education TDC2014 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
  9. 9. Globalcode – Open4education TDC2014 Permissões necessárias “Prevent phone from sleeping.” AndroidManifest.xml:
  10. 10. Globalcode – Open4education TDC2014 Mudanças recentes Alguns Wakelocks foram “deprecated”: Tipos 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
  11. 11. Globalcode – Open4education TDC2014 Mantendo a tela ligada
  12. 12. Globalcode – Open4education TDC2014 Mantendo a tela ligada Não precise se preocupar em “liberar a tela”, mas caso seja o seu caso: getWindow().clearFlags(WindowManager .LayoutParams.FLAG_KEEP_SCREEN_ON)
  13. 13. Globalcode – Open4education TDC2014 Mantendo a CPU ligada Liberando o wakelock wakeLock.release();
  14. 14. Globalcode – Open4education TDC2014 Serviços em background Caso você tenha problemas com serviços dorminhocos… WakefulBroadcastReceiver
  15. 15. Globalcode – Open4education TDC2014 Então chegou o KitKat
  16. 16. Globalcode – Open4education TDC2014 WakeLock Detector Fonte: https://android.googlesource.com/platform/frameworks/base/+/3714141d287c965ea3451831dd5167f63f8db87b%5E%21/
  17. 17. Globalcode – Open4education TDC2014 Controle de permissões
  18. 18. Globalcode – Open4education TDC2014 Android Runtime (ART) Histórico: Pré Froyo Froyo JIT – Just in Time Kit Kat AOT – Ahead of Time Compiling
  19. 19. Globalcode – Open4education TDC2014 AlarmManager O que já era uma ótima estratégia Ficou mais flexível: targetSdkVersion = 19 Métodos set() e setRepeating() serão “inexatos” Novo método setWindow() Nova Alternativa setExact()
  20. 20. Globalcode – Open4education TDC2014 Leitura de Sensores Ao invés de tratar evento por evento, faça uma operação em Batch Exige suporte em Hardware, mas é compatível com dispositivos sem esse suporte Novo sensor: Step counter Cuidado, eventos em batch não serão entregues para Apps dorminhocas
  21. 21. Globalcode – Open4education TDC2014 E os Zumbis?
  22. 22. Globalcode – Open4education TDC2014 Como medir
  23. 23. Globalcode – Open4education TDC2014 Altura (m) Vazão (l/h) Capacidade (l) Consumo (l) Consumo = Vazão x Tempo Capacidade Tempo de Regojizo Vazão Tempo de Regojizo   
  24. 24. Globalcode – Open4education TDC2014 Tensão (V) Potência (mW) Capacidade (mWh) Consumo (mWh) Consumo = Potência x Tempo Capacidade Tempo de Regojizo Potência Consumida Tempo de Regojizo   
  25. 25. Globalcode – Open4education TDC2014 Quem são os gastões? Tela Processador GPU I/O Disco? Rede GPS Sua App
  26. 26. Globalcode – Open4education TDC2014
  27. 27. Globalcode – Open4education TDC2014
  28. 28. Globalcode – Open4education TDC2014 Consumo da bateria Exercício Para um consumo médio de 764mA. Quanto tempo dura uma bacteria de: A) 1960 mAh B) 6800 mAh Respostas: A) 2horas 30minutos B) 9 horas
  29. 29. Globalcode – Open4education TDC2014
  30. 30. Globalcode – Open4education TDC2014
  31. 31. Globalcode – Open4education TDC2014 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*
  32. 32. Globalcode – Open4education TDC2014 Silvermont Novo processador Atom Evolução da tecnologia 32nm para 22nm 3x mais desempenho ou; 5x menos consumo de energia O Futuro nos espera … 14nm
  33. 33. Globalcode – Open4education TDC2014
  34. 34. Conteúdo Online em Português para dar suporte ao Desenvolvedor Quatro Novas Comunidades de Software locais Anunciando Melhorias no Suporte ao Desenvolvedor Brasileiro Comunidades Intel Developer Zone
  35. 35. Globalcode – Open4education TDC2014 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://software.intel.com/en-us/articles/intel-hardware-accelerated- execution-manager/ https://developer.android.com/about/versions/android-4.4.html
  36. 36. Globalcode – Open4education TDC2014 Contato George H. Silva @ghsilva george.silva@intel.com http://software.intel.com/android

×