Ocorre uma fuga de memória quando abre uma página Web que contém uma referência circular num iframe

Sintomas

Considere o seguinte cenário:

  • Visualizar uma página Web que utiliza o método window. Open para abrir uma segunda página da Web numa nova janela.

  • A janela acabada de abrir contém um elemento IFRAME que carrega uma página com referências circulares.

Neste cenário, uma fuga de memória ocorre sempre que abrir a janela.

Esta fuga também pode ocorrer se a iframe carrega uma página que contém um controlo de RadGrid de Telerik para o ASP.NET. Neste cenário, repare que o aumento de Bytes privados de 3 MB para cada operação window. Open . Depois de alguns abrir e fechar operações, reduz significativamente o desempenho do sistema.

Para monitorizar o desempenho do sistema, utilize o Monitor de desempenho (Perfmon.exe). No Monitor de desempenho, verifique os Bytes privados para o Internet Explorer.

Tenha em atenção se navega para a página alojada na iframe directamente, então o problema não ocorre.

Informações de actualização de segurança

Para resolver este problema, instale a actualização de segurança cumulativa mais recente para o Internet Explorer. Para instalar as actualizações mais recentes, visite o seguinte Web site da Microsoft:

http://update.microsoft.comPara obter informações mais técnicas sobre a actualização de segurança cumulativa mais recente para o Internet Explorer, visite o seguinte Web site da Microsoft:

http://www.microsoft.com/technet/security/current.aspx
Nota Esta actualização foi incluída pela primeira vez na actualização de segurança 2416400 (MS10-090).
Para mais informações, clique no número de artigo seguinte para visualizar o artigo na Base de Dados de Conhecimento Microsoft

2416400 MS10-090: Actualização de segurança cumulativa para o Internet Explorer

Informações de registo

Importante Esta secção, método ou tarefa contém passos que explicam como modificar o registo. No entanto, poderão ocorrer problemas graves se modificar o registo incorrectamente. Por conseguinte, certifique-se de que segue estes passos cuidadosamente. Para uma maior protecção, efectue o backup do Registro antes de o modificar. Em seguida, pode restaurar o registo se ocorrer um problema. Para mais informações sobre como efectuar cópias de segurança e restaurar o registo, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:

322756 como efectuar cópias de segurança e restaurar o registo no WindowsDepois de instalar a actualização para o Internet Explorer 6 e 7. o no computador, tem de adicionar um valor de registo para activar a correcção. Para tal, siga estes passos:

  1. Clique em Iniciar, clique em Executar, escreva regedite, em seguida, prima ENTER.

  2. Localize e, em seguida, faça clique sobre uma das seguintes subchaves de registo:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl

    HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl

  3. No menu Editar , aponte para Novoe, em seguida, clique em Chave.

  4. Escreva FEATURE_ADDITIONAL_MEMORY_CLEANUP_KB975736e, em seguida, prima ENTER.

  5. Com o botão direito FEATURE_ADDITIONAL_MEMORY_CLEANUP_KB975736, aponte para Novoe, em seguida, clique em Valor DWORD.

  6. Escreva Iexplore.exee, em seguida, prima ENTER.

  7. Iexplore.execom o botão direito e, em seguida, clique em Modificar.

  8. Na caixa Dados do valor , escreva 1 e, em seguida, clique em OK.

  9. Sair do Editor de Registo.

Nota Aplicações que hospedam o controlo WebBrowser (WebOC) ou MSHTML podem optar para a correcção, adicionando a entrada de registo acima. Substituir o valor DWORD de "iexplore.exe" para o nome da aplicação (.exe < nome >).

O problema não ocorre no Internet Explorer 8 ou no Internet Explorer 9, no entanto, com qualquer uma das versões do Internet Explorer instaladas, se utilizar aplicações que hospedam o WebBrowser control(WebOC) ou MSHTML navegue para a página, em seguida, o problema ainda ocorre. Tais aplicações podem optar para a correcção, adicionando uma entrada de registo. Para tal, siga estes passos:

  1. Clique em Iniciar, clique em Executar, escreva regedite, em seguida, prima ENTER.

  2. Localize e, em seguida, clique numa das seguintes subchaves de registo: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl

    HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl

  3. No menu Editar , aponte para Novoe, em seguida, clique em Chave.

  4. Escreva FEATURE_ADDITIONAL_IE8_MEMORY_CLEANUPe, em seguida, prima ENTER.

  5. Com o botão direito FEATURE_ADDITIONAL_IE8_MEMORY_CLEANUP, aponte para Novoe, em seguida, clique em Valor DWORD.

  6. Escreva .exe < nome >e, em seguida, prima ENTER.

  7. .Exe < nome >com o botão direito e, em seguida, clique em Modificar.

  8. Na caixa Dados do valor , escreva 1 e, em seguida, clique em OK.

  9. Sair do Editor de Registo.

Estado

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a".

Mais informações

Para mais informações sobre o método window. Open , visite o seguinte Web site da Microsoft:

http://msdn.microsoft.com/en-us/library/ms536651(VS.85).aspxPara mais informações sobre o elemento IFRAME, visite o seguinte Web site da Microsoft:

http://msdn.microsoft.com/en-us/library/ms535258(VS.85).aspxPara mais informações sobre referências circulares, visite o seguinte Web site da Microsoft

http://msdn.microsoft.com/en-us/library/bb250448(VS.85).aspx
Os produtos de outros fabricantes que este artigo aborda são fabricados por empresas independentes da Microsoft. A Microsoft não oferece nenhuma garantia, expressa ou implícita, relativamente, ao desempenho ou à fiabilidade destes produtos.

Precisa de mais ajuda?

Aumente os seus conhecimentos
Explore as formações
Seja o primeiro a obter novas funcionalidades
Aderir ao Microsoft insiders

As informações foram úteis?

Obrigado pelos seus comentários!

Obrigado pelo seu feedback! Parece que poderá ser benéfico reencaminhá-lo para um dos nossos agentes de suporte do Office.

×