título: artículos de author-js sobre detección de fugas
categorías: Cocos2dx
etiquetas: [creador, optimización, fuga, memoria]
fecha: 2023-03-28 16:16:49
comentarios: falso
mathjax: verdadero
toc: verdadero
Creator-js artículos de detección de fugas
precuela
- De hecho, el método es el mismo que el anterior egret_memory analysis-leakage.md
Use ui como prueba. En circunstancias normales, abra y cierre una ui repetidamente, y la instancia de ui se reciclará
Prueba 01 - Recuperación normal
-
Aquí hay 3 instantáneas, 1 es que la interfaz de usuario no está cargada, 2 es que la interfaz de usuario está cargada y 3 es que la interfaz de usuario está destruida
-
Compare la instantánea 2 con la instantánea 1
Después de cargar ui, agregue una instancia de ui (UIPnlxxx es el prefijo del nombre de clase de UI)
-
Compare la instantánea 3 con la instantánea 2
Después de destruir ui, se reduce una instancia de ui
-
Compare la instantánea 3 con la instantánea 1
No hay una instancia de ui, lo que indica que el objeto de la instancia de ui se ha reciclado normalmente
Prueba 02 - Fuga simulada
-
Registre eventos deliberadamente cuando se inicialice ui, de modo que el sistema de eventos pueda hacer referencia a esta instancia
-
La operación de la interfaz de usuario es la misma que la anterior, compare directamente la instantánea 3 con la instantánea 1
Se puede ver que la instancia de la interfaz de usuario no se ha destruido. Si continúa abriendo y destruyendo la interfaz de usuario repetidamente, puede ver que este número seguirá aumentando, lo que indica una fuga.
-
Expanda esta clase de interfaz de usuario, haga clic en la instancia de interfaz de usuario, puede ver la cadena de referencia de esta instancia de interfaz de usuario en la columna Retenedores a continuación, y puede ver que el sistema de eventos hace referencia a ella