French subtitles

← 05-09 Network_and_Battery_Drain

05-09 Network_and_Battery_Drain

Get Embed Code
13 Languages

Showing Revision 5 created 01/31/2016 by sp4.

  1. Prenons un moment
    pour rendre les choses très claires.
  2. En ce qui concerne la batterie,
  3. le réseautage est le plus grand, mauvais,
    sale coupable qu'il puisse y avoir.
  4. À l'intérieur de votre téléphone,
    il y a un petit composant de hardware,
  5. pour une radio amateur.
    Son objectif est de communiquer
  6. avec les relais locaux de réseau mobile
    et de leur transmettre plein de données.
  7. Mais le truc, c'est que cette puce
    n'est pas toujours active.
  8. Une fois que vous enverrez
    un paquet de données,
  9. la puce de radio restera
    allumée un certain temps,
  10. juste au cas où il y aurait
    une réponse du serveur.
  11. Mais s'il n'y a pas d'activité,
  12. le hardware s'éteindra
    pour économiser la batterie.
  13. Et comme nous avons vu précédemment,
    il y a une grande pointe de batterie,
  14. quand cette puce s'allume, et tant
    qu'elle reste hors veille à attendre
  15. des réponses, elle va continuer
    à vider la batterie en même temps.
  16. Il faut noter
    qu'il y a deux grandes façons
  17. par lesquelles
    la plupart des applications
  18. interagissent avec la radio.
  19. D'abord, il y a des événements
    qui doivent se dérouler immédiatement.
  20. Ces événements sont le résultat
    de certaines actions de l'utilisateur,
  21. ou ils se produisent
    suite au besoin immédiat
  22. de mettre à jour l'UI
    de votre application.
  23. Par exemple, imaginez
    quand l'utilisateur demande
  24. de charger un nouvel
    ensemble de tweets,
  25. pour un hashtag à la mode,
  26. comme c'est une action
    initiée par l'utilisateur,
  27. votre application
    devrait répondre ASAP.
  28. D'un autre côté, nous avons tous les jobs
    de réseautage qui n'ont pas besoin
  29. de se dérouler de
    façon urgente,
  30. comme mettre en ligne des
    données d'utilisateur,
  31. synchroniser des
    statistiques de fond,
  32. ou redimensionner toutes
    vos photos sociales.
  33. Donc, alors que le premier
    ensemble de tâches
  34. doit se dérouler immédiatement,
  35. afin de fournir un
    feedback à l'utilisateur,
  36. le second ensemble de tâches
    peut facilement
  37. être reporté à plus tard,
    elles pourront être menées
  38. de manière plus économe
    pour la batterie.
  39. Et il y a une grande probabilité
    que la majorité
  40. de vos demandes de réseaux
    dans votre application
  41. tombe dans cette seconde catégorie.
  42. Convertir les jobs de réseautage
    pour être plus efficaces
  43. est un processus en deux étapes.
  44. D'abord, regardez bien la rangée
    de votre radio mobile dans l'outil
  45. d'historique de batterie
    de votre application.
  46. Chacune de ces barres
    rouges que vous voyez ici
  47. représente une
    radio mobile active,
  48. tous les trous entre ces barres
    représentent quand la radio est en veille.
  49. Si vous voyez beaucoup
    de barres et de trous fins
  50. dans votre graphique, cela peut indiquer
    des problèmes de performance,
  51. vu que cela signifie que
    vous passez à travers
  52. beaucoup de cycles
    veille-sortie de veille.
  53. Il vaut mieux voir de larges trous
    à côté de larges blocs d'activité.
  54. De cette façon, vous avez largement
    réduit les frais,
  55. en minimisant
    le nombre de demandes
  56. de réseaux, et mieux, en n'utilisant
    plus la radio du tout.
  57. Vous pouvez attendre que le téléphone
    soit connecté au Wifi,
  58. puis laisser le hardware
    du Wifi faire tout ce travail,
  59. en utilisant beaucoup
    moins la batterie.
  60. Alors, le problème, c'est qu'écrire
    le code pour regrouper, mettre en cache
  61. et reporter
    toutes ces demandes de réseautage
  62. est très difficile
    à bien réussir,
  63. ce pourquoi nous avons fait
    le travail pour vous.
  64. L'API JobScheduler qui a été lancée
    avec la version L d'Android, offre
  65. une suite complète d'API,
    qui fait tout ce travail
  66. de gestion des demandes de réseautage
  67. et plus, pour vous.
  68. Mais au lieu de vous parler
    de cette API géniale,
  69. pourquoi ne pas l'essayer vous-même ?