Buenas Pessoal, A princípio este problema parece ser pequeno, mas quando passamos para ambientes "ROBUSTOS" a história muda. Sendo um pouco trágico me atreveria até a filosofar sobre o fim do Flex como solução para aplicações de "risco".
Imagem o cenário: Tenho uma aplicação de monitoração que atualiza de 10 em 10 segundos mostrando de forma estatística todas as ações (transações) que os usuários estão executando em realtime (online). Imaginemos que pra isso eu traga um Objeto super simples e insira dentro de um gráfico. public class EstatisticaVO { public var sucesso:Number; public var erroAmbiente:Number; public var erroNegocio:Number; public var total:Number; public var dataRegistro:Date; public function EstatisticaVO() { } } Para não ficar muito carregado a tela nem a memória façamos o seguinte. if ( dataProvider.lenght > 100 ) { dataProvider.remoteItemAt(0); //Retirando o objeto mais antigo } dataProvider.addItem(estatisticaVO); //Adicionando novo objeto a lista Como podem ver, uma aplicação muito inocente, concordam? Inocente para alguns, extremamente perigosa para outros, esta aplicação consome 100Mb por hora. Ou seja, em um dia você terá o browser marcando mais de 2.4Gb de memória. Como resolver? Filosofia do fusquinha de profissional TI, entre no fusquinha, saia do fusquinha, entre novamente e dê a partida! Funciona. Meus caros, o que eu estou querendo demonstrar aqui é que aplicações de monitoração de grandes empresas, programas que ficam abertos todos os dias dentro de salas de controle, com telão se possível NÃO PODEM COMETER ESSE ERRO. Enquanto ninguém dá uma resposta definitiva para Garbage Collector com eficiência agente vai criando aplicações de pequeno porte (sem desmerecer) como um site promocional, um cadastro de cliente, entre outros. Grande Abraço, _______________________________ DANIEL GOMES NEGRI (Analista de Sistemas) Consultor em Arquitetura RIA - Rich Internet Application Certified ScrumMaster [EMAIL PROTECTED] (62) 8135-8339 GECAN - Gerência de Canais de Atendimento BANCOOB - Banco Cooperativo do Brasil S/A -----Mensagem original----- De: flexdev@googlegroups.com [mailto:[EMAIL PROTECTED] Em nome de Ricardo Ramires Enviada em: sábado, 15 de novembro de 2008 10:11 Para: flexdev Assunto: [flexdev] Re: Consumo de memoria subindo Mas está consumindo muita memória mesmo? Algum usuário da sua aplicação reclamou de ter ficado muito lento por fazer swap em disco? Eu to desenvolvendo uma aplicação "até que grandinha", a mais de um ano, e hj tem umas 60 "telas" (formas diferentes que eu vejo a interface) e a base esta com 78 tabelas... Resolvi optar por fazer tudo num swf só que resultou num swf de 334kb usando RSL para separar o framework. Achei que assim ficou mais leve do que quando tentei separar por módulos... Eu to desenvolvendo primeiro com os components limpos (com a cara do flex sem entupir de ícones e planos de fundo, etc...) Resolvi deixar os frufrus para depois quando todas as regras de negócio tiverem sido implantadas e o sistema estiver sendo utilizado plenamente. Ai talvez role a versao rosa para a mariazinha, a azul para o joaozinho, etc... Acabei de fazer um teste aqui e ao abrir o firefox ele consumia 30mb ao abrir todas as 60 telas e esperar popular os combos, datagrids, lists, etc... ficou com cerca de 150mb ou seja a aplicacao toda ta consumindo 120mb... depois disso posso passear por toda ela que aumenta no maximo uns 15-20 mb quando passo algum tempo utilizando... e até agora ninguém da empresa reclamou Acho que a Microsoft resolveu isso pra gente lancando o vista, afinal se roda ele roda qualquer coisa, hehehehe acho se tiver consumindo menos 300mb hj em dia é completamente aceitável [ ]'s Ricardo On Nov 14, 10:07 pm, FabioBarreiro <[EMAIL PROTECTED]> wrote: > certo, mas o mais estranho de tudo é o que falei no inicio do topico > > quando minimizo o IE, a alocação de memoria despenca, e mesmo > restaurando a janela a memoria continua baixa > como se nessa hora o GC tivesse pego todo o lixo. > > alguem tem alguma explicacao pra isso?? > minha aplicacao pode se tornar um elefante com o tempo e travar o > browser do cara se ele nao minimizar > > On 14 nov, 20:45, "Leonardo França" <[EMAIL PROTECTED]> wrote: > > > segundo a documentação da Adobe, o gc so funciona em modo debugger. > > > 2008/11/14 FabioBarreiro <[EMAIL PROTECTED]>: > > > > Ola Elvis > > > > Cara, pior q faço isso....e desta maneira que pelo que li num blog > > > teria efeito: > > > > private function GarbageCollect():void{ > > > System.gc(); > > > System.gc(); > > > setTimeout(lastGC, 1000); > > > } > > > > private function lastGC():void{ > > > System.gc(); > > > System.gc(); > > > } > > > > On 14 nov, 20:15, "Elvis Fernandes" <[EMAIL PROTECTED]> wrote: > > >> Permita-me dar um pitaco: depois que você remove os listeners e define as > > >> variáveis como null, vc força o GC com System.gc() ? > > > >> Se o problema for com o GC, acredito que isso pode ajudar ... > > > >> -- > > >> Elvis Fernandeswww.elvis.eti.brwww.cafecomnegocios.com > > > >> 2008/11/14 FabioBarreiro <[EMAIL PROTECTED]> > > > >> > Tenho reparado que com meu sistema rodando, a memoria ocupada pelo > > >> > iexplorer.exe no gerenciador de tarefas do windows vai subindo sem > > >> > parar. Mesmo removendo os listeners e colocando as instancias como > > >> > null, parece q o GC nao coleta. > > > >> > O mais interessante é...quando minimizo o browser, a memória despenca > > >> > violentamente e ao restaurar a janela, a memoria ocupada eh bem pouca, > > >> > como se o GC passasse ao minimizar o IE e tivesse levado todo o lixo. > > > >> > E agora? tenho que ficar pedindo para o usuario minimizar o browser? > > >> > rs > > >> > Alguem passando por isso? dicas?- Ocultar texto entre aspas - > > > >> - Mostrar texto entre aspas - > > > -- > > Leonardo França > > Adobe Certified Professional Flash MX 2004 Developerhttp://www.leonardofranca.com.br-Ocultar texto entre aspas - > > > - Mostrar texto entre aspas - --~--~---------~--~----~------------~-------~--~----~ Você recebeu esta mensagem porque está inscrito na lista "flexdev" Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com 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 -~----------~----~----~----~------~----~------~--~---