Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

435
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda