Flash Player Garbage Collector

O aumento de memória é algo que pode ocorrer em aplicações Flex/Flash devido ao desconhecimento de como funciona o Garbage Collector do Flash Player.

Estava estudando uma pouco mais a fundo este assunto e encontrei algumas referências importantes:

http://www.adobe.com/devnet/flashplayer/articles/garbage_collection.html#
http://www.adobe.com/devnet/flash/articles/ria_dev_guidelines_03.html

e/ou:

http://www.gskinner.com/blog/archives/2006/06/as3_resource_ma.html
http://www.gskinner.com/blog/archives/2006/07/as3_resource_ma_1.html
http://www.gskinner.com/blog/archives/2006/08/as3_resource_ma_2.html

http://www.gskinner.com/blog/archives/2006/06/understanding_t.html
http://www.gskinner.com/blog/archives/2006/07/as3_weakly_refe.html

Post com apresentação da Adobe muito interessante sobre como funciona o GC:

http://blogs.adobe.com/aharui/2007/03/garbage_collection_and_memory.html

Agora se você não tem paciência para ver tantos links, pelo menos veja esta apresentação. Na minha opinião é a melhor:

http://gskinner.com/talks/resource-management/

Outra boa dica com relação a memória é sempre implementar os HotFix disponibilizados pela Adobe. Eles tem a preocupação de sempre estarem corrigindo problemas de memória, como no último:

http://kb.adobe.com/selfservice/viewContent.do?externalId=kb402000

Coloquei toda esta pesquisa aqui porque acho de extrema importância que todos os desenvolvedores Flex se preocupem com a alocação de memória no cliente. Podemos ver que temos que implementar algumas coisas para tirar o melhor proveito do GC, mas o importante é saber como ele funciona.

Espero que realmente a comunidade possa ler e implementar as recomendações dos links citados, pois quem trabalha desenvolvendo para o Flash Player já deve ter ouvido aquelas velhas frases: “Flash é pesado!!! Flash é lento!!!”. Sabemos que não é bem assim.


5 comentários

  1. Rafaelsc em 17.jul.07 às 1:42 pm

    Encontrei outro artigo do GSkinner sobre gerenciamento de recursos no Flash aqui: http://www.adobe.com/devnet/flashplayer/articles/resource_management.html

  2. Daniel Schmitz em 17.jul.07 às 2:13 pm

    Mas mesmo assim, implementando as “dicas” … ainda há leak de memória.
    Um flash player com um melhor gerenciamento de memória é primordial para que as aplicações flex tornem-se “utilizáveis”.

    Estamos aguardando, Adobe ….

  3. Leandro Goulart em 15.ago.07 às 9:01 am

    Eu sei que aquí não é lugar para isso mas tem gente que prefere o jeitinho brasileiro:
    http://margherita.riaforge.org/

  4. ALEX em 21.out.11 às 10:55 am

    Fico assustado como as coisas ficam feias quando falta planejamento.
    Programar é diferente de desenvolver.
    Existe conceitos que limpam muito sua aplicação como herança visual (que dizem não funcionar no flex, mas funciona sim). Padrão singleton para os formulários mais usados e etc…

  5. Rafael em 21.out.11 às 11:07 am

    Alex, obrigado pelo comentário. Este post é de 2007 e muita coisa mudou com relação ao Garbage Collector.

    Abraço.

Deixe Seu Comentário