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
-~----------~----~----~----~------~----~------~--~---

Responder a