Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

441
Vistas
Cómo interpretar el resultado del perfil de memoria de Chrome, la línea de tiempo de asignación de memoria - Pérdida de memoria GSAP Tween

Mantengo una aplicación Vue.js SPA que usa GSAP para hacer animaciones en la aplicación web. Parecía que ocurrían pérdidas de memoria al usar animaciones, así que hice un perfil de memoria y obtuve el siguiente resultado:

Comprenda que no puedo cargar códigos específicos completos y, en cambio, me gustaría hacer una pregunta sobre la forma en que se interpreta la línea de tiempo de asignación de memoria de Chrome.

perfil_memoria

  1. ¿Qué significabound_this bound_this in native_bind() en esa pila de retención?
  2. Entendí que los retenedores significan los objetos que GC no pudo desasignar debido a las referencias dejadas en algún lugar, ¿es correcto?
  3. Si la declaración en la pregunta 2 es correcta, ¿está disponible para identificar la causa de la pérdida de memoria en la pila de retención anterior? O, si eso es imposible o difícil, ¿al menos podemos especular? Si podemos especularlo, entonces, ¿cuál es la razón o la razón para eso?
  4. (Opcional) En el código, el componente window.toast Vue está animado por GSAP Tween, y después de que termine la animación, GSAP terminará la animación ( kill() ) y el toast permanecerá en el DOM. El objeto GSAP Tween se almacena en los data del componente Vue, se maneja para controlar el propósito de la animación, y después de que la animación finaliza, ese objeto de animación se asignará como null para que pueda ser recolectado como basura. Pero, parece que incluso después de una cantidad de tiempo suficiente, ese objeto de animación no se elimina de acuerdo con el resultado anterior. Parece que esto también causa muchos HTMLDivElement separados , lo que conduce a pérdidas de memoria. Creo que evité por completo la pérdida de memoria al eliminar referencias (asignar null ), ¿significa esto que me estoy perdiendo algo? O, ¿hay un problema de rendimiento con GSAP y hay un error de que los objetos de animación en la línea de global timeline no se limpian?

Por favor, dame cualquier conjetura o consejo, incluso si no es una respuesta precisa. Estoy tan frustrado con este problema últimamente.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

  1. native_bind es la implementación real de Function.prototype.bind (en el motor v8) bound_this es el objeto de contexto que pasa para bind
  2. Los retenedores son objetos que mantienen una referencia al objeto seleccionado y evitan que se GC. El árbol representa la ruta a la raíz del GC para el objeto seleccionado.
  3. Si busca una fuga de memoria, probablemente debería comparar 2 instantáneas (menú desplegable Summary en la barra superior) y buscar Delta positivo para ver qué objeto se filtró.

incluso después de una cantidad de tiempo suficiente, ese objeto de animación no se elimina

  1. Probablemente tenga mucho espacio de almacenamiento dinámico libre y aún no se GC (por razones de rendimiento). Puede forzar GC con el ícono de la papelera de reciclaje en la esquina superior izquierda.

Puede leer algunos conceptos básicos de la documentación oficial (es muy fácil de leer) https://developer.chrome.com/docs/devtools/memory-problems/memory-101/

Hay muchos tutoriales sobre este tema en Internet, es decir, 1 o 2 .

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda