Desreferenciando objetos

{ October 1st, 2007 }


cmilfont

Autor: cmilfont

ECMAScript tem um “Garbage Collector” (GC) que evita que voce destrua os objetos explicitamente para liberar memória, quando não existe referência a um objeto é dito que ele está desreferenciado (dereferenced), então quando o GC for executar a rotina de “coleta de lixo” todos os objetos desreferenciados serão destruídos.

O GC executa sempre quando uma function completa seu código, liberando todas as variáveis de seu escopo que sejam locais. É possível liberar um objeto explicitamente, ou seja, o desreferenciando, atribuíndo sua referência igual a null.

var objetoX = new Object;
 
objetoX = null;

Quando a variável objetoX é atribuído para null, ele perde sua referência criada na primeira linha, isso significa que na próxima vês que o GC for executado esse objeto será destruído.

Essa é sempre uma boa prática para o IE, devido aos seus problemas clássicos de “Memory Leaks”, desreferenciando um objeto evitamos que por motivos de erros ou por deficiência de implementações do GC de alguns Browsers acorram problemas como “Memory Leaks” (despejo de memória).

Categories: JavaScript ~ ~ Trackback


Assine os comentários deste artigo.


Adicionar ao Rec6

2 Responses to “Desreferenciando objetos”

  1. 1
    Quando o IE trabalha corretamente… - CMilfont Tech

    [...] e as referências não são esvaziadas? Memory Leak quer queira ou não. Ter que esvaziar todas as referências manualmente se caracteriza sim como Memory [...]

  2. 2
    Resumo javascript - Jan 2008 - CMilfont Tech

    [...] http://www.milfont.org/tech/2007/10/01/desreferenciando-objetos/ [...]

Leave a Reply