Portuguese, Brazilian subtitles

← 05-09 Network_and_Battery_Drain

05-09 Network_and_Battery_Drain

Get Embed Code
13 Languages

Showing Revision 3 created 12/30/2015 by QA_SP_7_PT_BR.

  1. Vamos, tomar um tempo para
    deixar algo incrivelmente claro.
  2. No que diz respeito à bateria,
    o uso de redes é o maior,
  3. pior e mais obsceno agressor que existe.
  4. Lembre-se que dentro do seu
    celular há uma pequena peça
  5. que é efetivamente um rádio amador,
  6. seu único propósito é comunicar-se
    com as torres de celular locais
  7. e transmitir dados em altos volumes.
  8. Mas o truque é que esse chip
    não está sempre ativo.
  9. Quando você envia um pacote de dados
  10. o chip do rádio permanecerá ligado
    por um certo período,
  11. no caso de haver uma resposta
    do servidor que ele está esperando.
  12. Mas se não há atividade,
    o hardware se desligará
  13. para economizar bateria.
  14. E como vimos antes,
  15. há um grande pico de bateria
    quando o chip é ligado.
  16. E enquanto se mantiver ligado
    aguardando respostas,
  17. ele continuará drenando a bateria.
  18. Agora é importante salientar
    que existem dois jeitos primários
  19. em que a maioria dos apps
    interagem com o rádio.
  20. Primeiro, existem eventos que precisam
    correr neste exato momento.
  21. Estes eventos são resultado
    de uma ação do usuário
  22. ou surgem de uma necessidade imediata
    de atualizar a IU de seu app.
  23. Por exemplo, imagine quando o usuário
    quer carregar um novo pacote de tweets
  24. de uma hashtag na moda.
  25. Como é uma ação iniciada pelo usuário,
    seu app responde o mais rápido possível.
  26. Do outro lado da moeda
    estão todos os trabalhos de rede
  27. que não precisam ocorrer de forma crítica,
  28. por exemplo, uploading dados do usuário,
  29. sincronizando estatísticas de fundo,
    ou redimensionando todas suas fotos.
  30. Então enquanto o primeiro conjunto
    de tarefas tem de ocorrer imediatamente,
  31. a fim de fornecer feedback ao usuário,
  32. o segundo conjunto de tarefas
    pode ser facilmente adiado,
  33. para quando puderem ser feitas
    de uma maneira energeticamente eficaz.
  34. E há uma alta probabilidade
  35. de que a maioria das suas
    solicitações de rede,
  36. no seu aplicativo, se enquadrem
    na segunda categoria.
  37. Transformar o uso de redes
    em algo mais eficiente
  38. é um processo de duas etapas.
  39. Primeiro observe atentamente
    a linha de rádio móvel
  40. na ferramenta battery historian
    do seu aplicativo.
  41. Cada uma dessas barras vermelhas que você
    vê aqui representam um rádio móvel ativo.
  42. Um intervalo entre as barras
    representa quando o rádio está inativo.
  43. Se você vê muitas barras estreitas
    e intervalos no gráfico,
  44. isso pode apontar problemas de desempenho,
  45. já que você está usando muitos
    ciclos de atividade e inatividade.
  46. O que você quer é ver grandes espaços
    próximos a grandes blocos de atividade.
  47. Assim reduz a sobrecarga minimizando
    o número de requisições de rede,
  48. e, ainda melhor, sequer usa o rádio.
  49. Você pode esperar até que
    o aparelho esteja conectado ao Wi-Fi
  50. e então deixar o hardware de Wi-Fi
    realizar todo este trabalho,
  51. drenando menos bateria.
  52. O problema é que desenvolver código
    para sequenciar, armazenar em cache,
  53. e protelar todas as solicitações
    de rede é algo muito difícil,
  54. por isso fizemos o trabalho pra você.
  55. A API JobScheduler que foi lançada
    juntamente com o L do Android
  56. fornece um conjunto completo de APIs
  57. que administra todas as
    solicitações de rede e mais, a seu favor.
  58. Mas ao invés de falar
    sobre essa maravilhosa API,
  59. porque você não experimenta na prática?