none
WebBrowser Aumento da Memoria RAM RRS feed

  • Pergunta

  • Boa tarde, estou desenvolvendo um projeto que acessa vários sites simultaneamente através de webbrowsers que coloco em um form separado, após concluir com os sites, eu fecho o form, porém a memória RAM aumenta cada vez que utilizo os webbrowsers até que se esgota o recurso, já dei o comando para limpar o cache mas mesmo assim continua aumentando, alguém sabe como posso resolver esse problema?

    Obrigado

    segunda-feira, 18 de março de 2013 19:39

Respostas

  • Estive pesquisando e consegui realizar esse comando, para aqueles que precisar dessa ajuda, basta colocar esse pedaço de código no software e depois chamá-lo quando precisar limpar.

        Private Declare Function SetProcessWorkingSetSize Lib "kernel32.dll" ( _
            ByVal hProcess As IntPtr, _
            ByVal dwMinimumWorkingSetSize As Int32, _
            ByVal dwMaximumWorkingSetSize As Int32 _
            ) As Int32

        Public Function SaveMemory() As Int32

            Return _
            SetProcessWorkingSetSize( _
                Diagnostics.Process.GetCurrentProcess.Handle, _
                -1, _
                -1 _
                )

        End Function

    Testado e funcionando corretamente.

    terça-feira, 19 de março de 2013 13:58

Todas as Respostas

  • Estive pesquisando e consegui realizar esse comando, para aqueles que precisar dessa ajuda, basta colocar esse pedaço de código no software e depois chamá-lo quando precisar limpar.

        Private Declare Function SetProcessWorkingSetSize Lib "kernel32.dll" ( _
            ByVal hProcess As IntPtr, _
            ByVal dwMinimumWorkingSetSize As Int32, _
            ByVal dwMaximumWorkingSetSize As Int32 _
            ) As Int32

        Public Function SaveMemory() As Int32

            Return _
            SetProcessWorkingSetSize( _
                Diagnostics.Process.GetCurrentProcess.Handle, _
                -1, _
                -1 _
                )

        End Function

    Testado e funcionando corretamente.

    terça-feira, 19 de março de 2013 13:58
  • Olá,

    Pelo que ví você está usando interop, logo você perde o gerenciamento de memória do próprio framework.

    Qual o objetivo da rotina? Você não pode fazer por código gerenciado?

    quarta-feira, 20 de março de 2013 12:51