Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês
Esta documentação foi arquivada e não está sendo atualizada.

Usando referências fraca

O coletor de lixo não conseguirá coletar um objeto em uso por um aplicativo ao código do aplicativo pode acessar esse objeto.O aplicativo é chamado ter uma referência de alta segurança para o objeto.

Uma referência fraca permite que o coletor de lixo para coletar o objeto enquanto ainda permite que o aplicativo para acessar o objeto.Um fraca Referência é válido somente durante a quantidade indeterminada de tempo até que o objeto é coletado quando não existir nenhum Referências de alta segurança.Quando você usa uma referência fraca, o aplicativo ainda pode obter uma referência de alta segurança para o objeto, que impede que ele coletadas.No entanto, sempre há o risco de que o coletor de lixo será exibida primeiro para o objeto antes uma referência de alta segurança é restabelecida.

References Weak are useful for Objetos that use a lot of memória, but can be recreated easily if they are reclaimed by coleta de lixo.

A árvore suppose Exibir in a aplicativo do Windows Forms Displays a hierárquico COMPLEX escolha of Options to the usuário.Se os dados base forem grandes, manter a árvore na memória é ineficiente quando o usuário está envolvido com algo mais no aplicativo.

When the switches Away to another part of the Aplicativo, You can use the WeakReference to create a reference to the Weak and Destroy References STRONG all.When the usuário switches Voltar to the árvore, the aplicativo attempts to obtain a reference to the árvore STRONG and, IF bem-sucedido, avoids reconstructing the árvore.

Para estabelecer uma referência fraca com um objeto, você Criar um WeakReference usando a instância do objeto para ser rastreado.Você, em seguida, defina a propriedade Target para esse objeto e o objeto para null.For a Código exemplo, see WeakReference in the biblioteca de classes.

You can Criar a reference Weak Short or a reference Long Weak:

  • Short

    The destino of a reference Weak Short becomes null when the objeto is reclaimed by Garbage coleção.The reference Weak is itself a objeto gerenciado, and is assunto to coleta de lixo just LIKE any Outro objeto gerenciado.A Abreviado referência fraca é o construtor usar como padrão para WeakReference.

  • Long

    Uma referência fraca longa é mantida depois que o método do objeto Finalize tem sido chamado.Isso permite que o objeto ser recriada, mas o estado do objeto permanece imprevisível.Para usar uma referência longa, especifique no construtor de trueWeakReference.

    If tipo the objeto 's does not have a método Finalize, the Abreviado Weak Functionality Reference applies and is the reference Weak válido only until the destino is Collected, which can ocorrer anytime after the finalizador is executar.

Para estabelecer uma referência de alta segurança e use o objeto novamente, converter a propriedade Target de um WeakReference para o tipo de objeto.Se a propriedade Targetnull retorna, o objeto foi coletado; Caso contrário, você pode continuar a usar o objeto porque o aplicativo foi regained uma referência de alta segurança a ele.

Use longo fracas referências somente quando necessário como o estado do objeto é imprevisível após finalização.

Evite usar fracas referências a objetos pequenos porque o ponteiro próprio pode ser tão grande ou maior.

Avoid Using References Weak as an Automático solução to Problems gerenciamento memória.Em vez disso, desenvolver um cache eficaz diretiva para Manipulação objetos do seu aplicativo.

Mostrar: