(Não tenho certeza sobre isso, mas ...)
O AS3 usa uma coleta de lixo não determinística, o que significa que a memória não referenciada será liberada sempre que o tempo de execução desejar (normalmente, a menos que haja um motivo para executar, já que é uma operação cara). Esta é a mesma abordagem usada pela maioria das linguagens de coleta de lixo modernas (como C # e Java também).
Supondo que não haja outras referências à memória apontada por byteArray
ou aos itens dentro do próprio array, a memória será liberada em algum ponto após você sair do escopo em que byteArray
foi declarado.
Você pode forçar uma coleta de lixo, embora realmente não deva. Se você fizer isso, faça-o apenas para teste. Se você fizer isso na produção, irá prejudicar o desempenho muito mais do que ajudá-lo.
Para forçar um GC, tente (sim, duas vezes):
flash.system.System.gc();
flash.system.System.gc();
Você pode ler mais aqui .