Spanish 字幕

← 04-06 Spotting_Leaks_In_Memory_Monitor

04-06 Spotting_Leaks_In_Memory_Monitor

埋め込みコードを取得する
13言語

Showing Revision 5 created 02/08/2016 by sp16.

  1. Muy bien,
    hablemos de las fugas de memoria.
  2. Las fugas de memoria son furtivas.
  3. Pueden ser lentas e insidiosas,
    a veces tardando hasta días
  4. o semanas antes de que te des cuenta
    de que tienes una.
  5. De hecho, podrías no enterarte de que hay
    problemas, hasta que tus usuarios
  6. se quejen de misteriosas ralentizaciones
    que les ocurren tras usar tu app.
  7. No dejes que esto te ocurra.
  8. Por suerte, con un poco de paciencia,
    mentalidad perfeccionista
  9. y las herramientas adecuadas,
  10. podrás suprimir definitivamente éstas
    fugas de tu app.
  11. Utilizaremos Memory Monitor para ver
    el comportamiento de una fuga en acción
  12. y en el siguiente video, utilizaremos
    HEAP VIEWER para la confirmación inicial.
  13. Veamos un micro ejemplo de cómo
    luce una fuga
  14. y veremos cómo las herramientas SDK
    nos ayudan a identificar tales fugas.
  15. En éste ejemplo, vamos a rotar
    el dispositivo durante
  16. algunos minutos, y lo perfilaremos
    con Memory Monitor.
  17. Esto está diseñado para mostrar una
    situación común de fuga, que puede surgir
  18. durante la creación y destrucción
    de una actividad.
  19. Podríamos desencadenar éste ciclo adrede,
    cambiando la orientación del dispositivo.
  20. Y sí, se que parece una locura,
  21. pero lo haremos para demostrar cómo
    puede ocurrir una fuga
  22. y ver que pueden ser lentas
    e insidiosas.
  23. En la primera corrida, la fuga consume
    lentamente la memoria disponible para
  24. tu app, hasta, eventualmente, causar una
    recolección de basura o un evento GC.
  25. Más importante, la clave es darse cuenta
    de que el recolector de basura
  26. no podrá recuperar mucha energía,
    debido la fuga en la app.
  27. Y eventualmente,
  28. un segundo evento GC ocurre mucho antes,
    unos 30 segundos después.
  29. Date cuenta de que cuando la fuga consume
    toda la memoria libre
  30. Android de hecho se ajusta, y le otorga
    a la app un techo de memoria mayor.
  31. Si bien éste ajuste del sistema es bueno,
    si no se arregla la fuga
  32. ésta seguirá consumiendo memoria hasta
    que el sistema ya no puede asignar más.
  33. Esto disminuye el rendimiento del
    dispositivo
  34. y eventualmente hace fallar tu app.
  35. Si esperas un poco más, un tercer
    CG ocurre.
  36. Y después un cuarto, similar a
    los primeros dos.
  37. Como verás, el patrón continúa
  38. y el sistema asigna más memoria.
  39. También verás algo muy similar
    si usas Heap Viewer