quinta-feira, 28 de fevereiro de 2013

Módulos e gerenciamento de memória

O problema dos módulos sempre foi e ainda é o gerenciamento de memória, mesmo agora na versão 4, fiz um teste com a versão 4.5.1, mesmo depois de descarregar o módulo usando loader.url = null e loader.unloadModule o módulo ainda continua ativo consumindo memória juntamente com os recursos que este carregou.

Um exemplo, se criar um módulo que tem um timer que de tantos em tantos segundo faz uma requisição http ou com um música tocando, depois que você o descarregar você verá que as requisições http ainda continuam ocorrendo e que a música ainda está tocando.

Nesse caso, além de "descarregar" o módulo é necessário desativar os recursos, mas mesmo assim a memória ainda estará sendo usada.

Não vejo a necessidade de usar módulos para conter somente uma tela, são realmente úteis com projetos muito grandes e mesmo assim tem que ser bem avaliado, porque ao gerar o swf da aplicação e colocar no servidor o client / browser irá identificar o novo swf e irá utilizá-lo.

E mesmo numa aplicação grande que terá benefícios reais modularizar o projeto acredito que usar sub-apps é mais recomendável, isto é, em vez de usar módulos criar sub-projetos cada um tendo o seu swf podendo ser independentes o que não acontece com os módulos que dependendem da aplicação principal.

Mais sobre sub-apps veja aqui.

Nenhum comentário:

Postar um comentário