Adicionando e removendo a amostra de aplicativo de pressão de memória
Este exemplo demonstra a interoperação de coleta de lixo gerenciado com código não gerenciado.
Para obter informações sobre como usar os exemplos, consulte os tópicos a seguir:
Para compilação o utilizando o aviso de comando de exemplo
Abra a janela do aviso de comando e navegar até um do específico a um linguagem subpastas sob o diretório GCDemo.Para obter informações sobre as configurações necessárias e o SDK aviso de comando, consulte Como: Defina as configurações de amostra.
Tipo de MSBuild GCDemoCS.sln or MSBuild GCDemoVB.sln na linha de comando, dependendo de sua escolha de linguagem de programação.
Para compilação a amostra usando o Visual Studio
Abra o Windows Explorer e navegar até um dos subdiretórios sob o diretório GCDemo específicos do linguagem.
Clica clicar duas vezes no arquivo GCDemoCS.sln ou GCDemoVB.sln, dependendo de sua escolha de linguagem de programação, para em aberto o arquivo no Visual Studio.
No Compilação menu, selecionar Criar solução.
Para executar este exemplo
- Aberto o janela do aviso de comando e navegar até o diretório que contém o executável de novo.
Requisitos
Estes exemplos exigem cabeçalhos do Windows que estão disponível para seu projeto, se você criar usando Microsoft Visual Studio 2005, o aviso de comando do Visual Studio 2005, ou se você tiver o plataforma SDK instalado e especificado em um caminho de inclusão.
Comentários
Este exemplo demonstra o novo AddMemoryPressure e RemoveMemoryPressure métodos para o GC classe. Você pode usar esses métodos para alterar o padrão da estratégia de coleção de lixo para coletas de geração de zero.Você deve usá-los para dar uma dica, o coletor de lixo (GC) sempre que o número de recursos não gerenciados que está sendo alocado é significativamente maior do que o espaço gerenciado pelos mesmos recursos.Sem essa dica, o GC não reconhece a memória não gerenciada e, portanto, pode selecionar uma estratégia de coleção subótimos.
Simplesmente executar a amostra e observe o número de alocações bem-sucedidas com e sem a pressão de memória (você irá observar que as alocações são mais bem-sucedidas quando você adiciona pressão apropriadamente).Além disso, observe o efeito que a pressão adicional tem sobre o número de coleções de geração de zero realizada, indicando que o fato de que o GC está executando várias coleções mais quando é adicionada à pressão.
Lembre-se sempre emparelhar qualquer pressão adicional com uma remoção adequada da mesma quantidade de pressão.