Magno 0 Denunciar post Postado Fevereiro 2, 2007 Ola pessoal,Tenho um TWebbrowser na minha aplicacao, crio em tempo de execução na tentativa de poder destrui-lo qdo não for mais necessário seu uso. Acontece "simplesmente" que não consigo liberar a memoria em uso. Digamos que o programa esteja ocupando 20Mb na ram, inicio o browser, o usuario faz as navegações pela paginas, mas a memoria vai aumentando, chega nos 50Mb, entao libera-se a memoria, entretanto nao libera tudo, fica com uns 42Mb, navega-se novamente, vai para uns 60Mb, libera-se memoria, fica com 58... numa razao de liberar cerca de 8Mb, mas o resto não. Entao, no fim de uma sessão, o software esta consumindo uns bons 120Mb de ram, e dai para mais.Ja tentei FreeAndNil(), Destroy, webbrowser1 = nil... Qual é o método correto??Estou criando assim:wb := TWebBrowser.Create(Panel1);TWinControl(wb).Name := 'wb';TWinControl(wb).Parent := Panel1;wb.Align := alClient;usando os metodos convencionais ele remove da aplicacao o componente, mas nao liberar a memoria totalmenteValeu!Magno Compartilhar este post Link para o post Compartilhar em outros sites
Hugo Slepicka 0 Denunciar post Postado Fevereiro 4, 2007 Quando o TWebBrowser não é criado via code ele ocupa tudo isso na RAM ??? Compartilhar este post Link para o post Compartilhar em outros sites
Magno 0 Denunciar post Postado Fevereiro 5, 2007 criado ou não na aplicação ele consome horrores de memoria, e para piorar vi que parace ser um problema crônico mesmo. Cria-lo em tempo de execução deveria de alguma forma melhorar, pois um free() liberaria a memoria utilizada, dai era só criar novamente, mas o destroy() mesmo parece nem ser chamado, tem uns hacks para isso mas não funciona 100%. Achei um componente derivado dele, gratuito, que consome igualmente muita memoria, mas parece ficar satisfeito qdo chega nos 80Mb (ah, isso tudo depende do que esteja abrindo), ele não libera toda a memoria, mesmo destruindo-o mas em compensação não pede muito mais que isso, mantendo-se gordo até o fim da aplicação. Diferente do TWebbrowser padrão, que vai engordando enquanto a aplicação é executada (entenda-se: a cada solicitação de página). O componente é o Embedded Web Browser, baixei no Torry.net.Hoje vou fazer mais testes para ver ser o EWB realmente se satisfaz ou se continua querendo mais, apenas para certificar-me.Valeu! Compartilhar este post Link para o post Compartilhar em outros sites
Vinicius Callegaro 0 Denunciar post Postado Fevereiro 6, 2007 Esses dias estava vendo monitorando a quantidade de memória que meu programa consumia. Quando iniciava, ele ocupava uns 14 mega. Daí, simplemente minimizando, ele caia para 3 mega, e quando maximizava, ficava em 6. Muito estranho :huh: Compartilhar este post Link para o post Compartilhar em outros sites