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.


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