PessoALL,
Devido a grande discussão sobre "Memory Lakes" resolvi fazer alguns simples
testes com base no entendimento do funcionamento de memoria no Flex, como segue:
1-Criei uma nova aplicação
2-Criei um container (TitleWindow)
3-Dentro do meu application logo após a declaração dos namespaces, criei uma
variável (var ModuleManager: ModuleLoader = new ModuleLoader();)
4-Criei 2 módulos para teste
5-Criei 2 botões, um para carregar e o outro para descarregar o módulo
6-Método para carregar o módulo:
public function Carregar():void{
if (!Loaded){
MyTitleWindow.addChild(ModuleManager);
ModuleManager.url = 'Teste.swf';
ModuleManager.loadModule();
Loaded = true;
}
}
7-Método para descarregar o módulo
public function Descarrega():void{
ModuleManager.unloadModule();
MyTitleWindow.removeChild(ModuleManager);
Loaded = false;
}
Desta forma, tratando o ModuleLoader como child do container, o resultado foi:
Após carregar e descarregar alguns módulos cerca de 200 vezes, acompanhei o
desempenho de memória tanto no System.totalMemory como no gerenciador de
tarefas Windows e o percentual de lake de memória foi de 3% referente ao estado
inicial.
Vale lembrar que nestes testes usei módulos com alguns componentes, não criei
eventos, etc....foi um teste razoavelmente simples porém já me definiu um norte
a seguir.
Também ressalto aqui a importância do que foi dito quanto o uso de módulos no
Flex.
Para mim, esse teste já valeu para o meu projeto. Espero que ajude outros
também....!
Rodolpho da Silva
www.essencialcode.com.br
--
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para
[email protected]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev