studio linearlayout layout_width examples etiquetas elementos ejemplos dinamico atributos amontonados android android-studio heap-dump hprof

linearlayout - ¿Qué representan los colores del elemento de árbol de referencia HPROF de Android Studio?



layout dinamico android (2)

¿Alguien puede decirme qué significan exactamente las posiciones negrita, azul y roja en HPROF Viewer en Android Studio?

Pregunto por uno en el panel Árbol de referencia.

Atentamente.


No puedo encontrar ninguna documentación sobre esto, pero al mirar a través de unos cuantos vertederos, esto es lo que parecen ser:

  • blue : el dominator más cercano de la instancia seleccionada en el panel superior derecho.
  • bold : una raíz de GC, por ejemplo, una instancia con profundidad 0 que no debe recopilarse. Esta respuesta tiene más información sobre qué es una raíz GC, y esta respuesta enumera los tipos de cosas que son raíces.
  • red : en realidad no he visto esto, pero supongo que indica una instancia que debería ser recogida de basura, pero que aún no ha sido.

Una vez más, un descargo de responsabilidad aquí es que todo esto podría estar mal y realmente no puedo encontrar ninguna información oficial sobre esto, pero parece coincidir con mis observaciones cuando uso el generador de perfiles de pila.


  • this$0 (el rojo) - es la variable que contiene la referencia a LeakActivity . En su caso, esta es una referencia implícita a la clase adjunta. Esta es una naturaleza de las clases internas anónimas en Java: tienen de forma implícita una referencia a la clase externa (adjunta).

  • nombre de clase azul: es solo una ubicación de this$0 variable de this$0 .

Básicamente, lo que está viendo es que LeakActivity hace referencia implícitamente a LeakAsyncTask que se implementa como clase interna anónima dentro de LeakActivity , por lo que LeakActivity no puede ser recogida de basura hasta que LeakAsyncTask . Así que tienes una potencial fuga de actividad que es realmente peligrosa para tu aplicación