As restrições das plataformas móveis, a concorrência e a facilidade dos usuários em recomendar ou criticar as aplicações tornaram o desafio dos desenvolvedores muito maior nas lojas de aplicativos. Além das preocupações com arquitetura e um bom plano de testes, as restrições de bateria e desempenho menor que as plataformas tradicionas exigem mais criatividade para encontrar o melhor balanço entre responsividade e consumo de energia. Nosso foco será apresentar um guia prático de como criar software eficiente no uso de energia, discutir quando precisamos lidar com o balanço entre resposta ao usuário e uso de energia visitando as principais ferramentas que auxiliam o desenvolvedor a melhorar o uso de energia e a responsividade de sua aplicação. Venha conhecer o trabalho que a Intel Software está fazendo no ecossitema Android que beneficia o desenvolvimento para todos dispositivos.
2. 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
8. 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 )
14. 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
15. Globalcode – Open4education
Como são usados
Aplicaçã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
16. Globalcode – Open4education
Wakelock
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
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
19. 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
20. 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
27. 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
29. 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
30. 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*
35. Parceiros de Software
Desenvolvedores
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.com
Seu principal recurso para desenvolvimento de Software e Negócios
36. 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 Software Network