Flex & Modules + Memory Leaks

Olá pessoal,

Estou estudando a tecnologia flex e estou gostando bastante do que vejo como resultado, realmente para o cliente fica muito amigável.
Entretanto andei também procurando o lado feio do Flex para conhecer de ante-mão possíveis problemas e vi algo que não gostei.
Pela net, alguns posts antigos, existem diversas pessoas reclamando de memory leaks quando usam modules e outros features simples…
Por ex, nesta thread: http://www.guj.com.br/posts/list/30/82937.java#443532
Se vc digitar no google “flex memory leak” veem muita informação.
Na minha concepção de nada adianta um resultado ser bonito e amigável se por debaixo dos panos está uma bomba pronta pra explodir…

Alguém têm uma experiência ou informação prática pra passar como está essa situação?? Como estão estes memory leaks??? Utilização de modules???

Obrigado!

Particularmente eu não uso módulos e não aconselho ninguém a usar. Justamente pelo problema mencionado. Porém, nem todos projetos que usam módulos vão ter problemas de memory leak.

Apesar dessa função não ter um bom desempenho, isso não afeta em nada os projetos que não usam módulos, logo aplicações desenvolvidas corretamente, conhecendo os limites da linguagem, estaram longe de ser “uma bomba pronta pra explodir”.

Para finalizar, fica minha dica: Esqueça os módulos por enquanto!

Opa Bruno, obrigado pela resposta.
Eu realmente esperava que essa situação já tivesse mudado.
Existem alternativas? Eu já tinha feito uma “casca” de aplicação, com um menu e layout e já tinha deixado uma área com um module loader para ir carregando as telas da aplicação, que seriam cada uma um módulo diferente. Está funcionando bem.
Minha aplicação estava um pouco grandinha(se me lembro bem uns 400k) mas os modulos estavam bem pequenos (< 80k) e eu estava satisfeito com isso…
Qual seria a alternativa???

Olá Eduardo,

Realmente existe um problema de gerenciamento de memória quando utilizamos módulos, mas concordo com o Bruno com relação a “nem todos projetos que usam módulos vão ter problemas de memory leak”. Falo isso pois temos alguns projetos que utilizam módulos e já estão em produção há mais de ano e não estamos tendo problemas com isso.

O que recomendo a você seria um artigo no blog da DClick http://blog.dclick.com.br/2007/07/16/flash-player-garbage-collector/pt/, onde tem um monte de referências para outros artigos.

Eu, particularmente, acho esse muito bom http://gskinner.com/talks/resource-management/. Pereceba a utilização de referências fracas (Week Reference)!

No final das contas é possível sim a utilização de módulos, desde que você tome cuidado com uma série de coisas (ex. week references e unload de módulos), o que não é muito bom, ja que isso deveria ser feito automaticamente!

Outra coisa é que alguns dos clientes que já estão utlizando Flex 4 me falaram que alguns dos problemas forão resolvidos, principalmete com relação a RSL.

[]s

Henrique, muito obrigado pela atenção.
Irei devorar estes artigos que você me passou, já li algo sobre. Vi esta apresentação (http://gskinner.com/talks/resource-management/) e achei bem interessante e instrutiva, principalmente os simuladores :smiley:
Meu objetivo principal é montar uma arquitetura onde eu possa que esconder a maioria destes detalhes dos desenvolvedores… Estou fazendo alguns testes aqui, deixando rodar com Timer durante a madrugada carregando e descarregando modulos, etc e não tenho tido problemas mas confesso que fiquei receoso e assustado com alguns relatos na internet.
Irei fazer mais alguns milhares de testes, better safe than sorry, a aplicação aqui é de missão critica e nao poderia ter um problema desta natureza… Até agora o que tenho lido me parece muito FUD que é decorrente de programação relaxada…

Obrigado pela atenção de vocês!