French subtitles

← 04-04 Memory_Leaks

04-04 Memory_Leaks

Get Embed Code
13 Languages

Showing Revision 1 created 12/26/2015 by sp16.

  1. Une des meilleures choses le langage
    Java Android, c'est un environnement
  2. de mémoire gérée, en d'autre termes,
    vous n'avez pas à trop vous préoccupez
  3. de la création et destruction des objets
  4. Bien que ce soit le plus souvent génial
  5. Il y a quelques problèmes
    de performance cachés ici.
  6. Rappelez-vous, les tas de mémoire
    dans les runtimes Android
  7. sont segmentés en espace,
    en fonction du type d'allocation et
  8. la meilleure façon pour le système de gérer
    les allocations des futurs événements GC.
  9. Et chaque espace a sa propre
    taille de mémoire réservée.
  10. Lorsque la taille combinée d'un objet dans
    un espace approche sa limite supérieure
  11. un événement garbage collection est
    déclenché pour libérer de l'espace et
  12. supprimer les objets inutiles.
  13. ces GC ne sont habituellement pas
    un problème pour votre performance.
  14. Cependant, s'il sont récurrents
    de plus en plus et encore plus
  15. peut rapidement influencer
    votre temps de frame
  16. Plus vous passer de temps à faire du GC,
  17. moins vous en avez pour autres choses
    comme le rendu ou le streaming audio.
  18. Choses courantes pour les développeurs
    et qui entraîne beaucoup de
  19. ces évènements de GC
    sont les fuites de mémoire.
  20. Les fuites de mémoire sont des objets
    que l'application n'utilise plus,
  21. mais le garbage collector ne les
    reconnaît pas comme inutile
  22. Le résultat est qu'ils
    restent dans votre tas,
  23. occupant un espace précieux
    jamais libéré pour d'autres objets.
  24. Si vous continuez à avoir
    des fuites de mémoire
  25. l'espace disponible dans la génération de
    de votre tas continue à devenir
  26. de plus en plus petit, ce qui signifie
    que plus de GC viendront plus souvent
  27. Pour essayer de libérer de l'espace pour
    l'exécution normale du programme.
  28. La recherche et la correction
    des fuites de mémoire est assez complexe.
  29. Certaines fuites de mémoire peuvent
    survenir très facilement,
  30. par exemple des références circulaires
    aux objets que le programme n'utilise pas
  31. d'autres ne sont pas aussi simples,
  32. comme tenir aux objets class loader
    quand ils sont chargés.
  33. Dans les deux cas, une bonne application,
    bien rapide, doit être consciente et
  34. réceptive aux fuites de mémoire
    qui peuvent exister.
  35. Votre code va être exécuté
    sur plein de périphériques,
  36. de différents types, et
  37. ils n'auront pas tous la même
    taille et empreinte de mémoire
  38. Heureusement, il y a un outil simple
    qui vous permet de voir là
  39. où ces fuites pourraient se produire
    à l'intérieur du SDK Android.
  40. Allons voir ça!