BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias Google abre código do Leak Finder, para detecção de vazamentos de memória em JavaScript

Google abre código do Leak Finder, para detecção de vazamentos de memória em JavaScript

O Google abriu o código do Leak Finder, uma ferramenta para examinar a memória de aplicações em JavaScript para encontrar vazamentos de memória. Como em outras linguagens com memória gerenciada, o JavaScript não possui os vazamentos de memória típicos encontrados em outras linguagens como C++; mas quando a memória permanece alocada para objetos que não estão mais sendo utilizados, considera-se que a aplicação apresenta vazamentos, que são capazes de comprometer o desempenho e gerar falhas de execução.

Uma possível maneira de gerar um vazamento de memória em JavaScript é através de uma referência circular, especialmente quando closures são utilizados. O Leak Finder consegue detectar quando uma closure produz um vazamento, alertando o desenvolvedor para o código com problemas. A ferramenta tenta encontrar Google Closures (objetos do tipo goog.Disposable) no heap, verificando se o método dispose() foi chamado e se os listeners do evento foram liberados, pois estes últimos podem manter referências a objetos DOM.

Atualmente, o Leak Finder trabalha com a biblioteca Closures, mas pode ser configurado para integração com outras bibliotecas. Closures é uma biblioteca de código aberto feita em JavaScript que contém ferramentas de tratamento de eventos, manipulação de DOM, testes de unidade, funcionalidades de animação e outros componentes. É muito utilizada por serviços do Google como o GMail, GDocs, GMaps e outros.

Além do Leak Finder, o Google já abriu o código de várias ferramentas de JavaScript, como Closure Compiler, para geração de código compacto e com alta performance; Closure Templates, para geração dinâmica de HTML, Closure Linter, ferramenta de checagem de estilo para JavaScript e a Closure Stylesheets, uma série de extensões para CSS.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT