Come posso sapere se un oggetto è stato raccolto o meno?Come capire se un oggetto è stato spazzato via.
8
A
risposta
24
Secondo this:
Normalmente Non si può dire se un oggetto è stato garbage collection utilizzando alcuni riferimento all'oggetto, perché una volta che hai un riferimento all'oggetto, non sarà garbage collection .
È possibile invece creare un riferimento debole a un oggetto utilizzando l'oggetto WeakReference. Il riferimento debole è uno che non verrà conteggiato come riferimento, ai fini della garbage collection.
Nel codice qui sotto, controlliamo prima e dopo la garbage collection per mostrare che un oggetto Dog è garbage collector.
Dog dog = new Dog("Bowser");
WeakReference dogRef = new WeakReference(dog);
Console.WriteLine(dogRef.IsAlive);
dog = null;
GC.Collect();
Console.WriteLine(dogRef.IsAlive);
Problemi correlati
- 1. Come verificare se un oggetto è stato modificato
- 2. Come capire se una stringa è xml?
- 3. È necessario sapere se un oggetto dell'interfaccia utente jQuery è stato applicato a un oggetto DOM
- 4. Rileva se un oggetto Java è stato modificato?
- 5. Come capire se un handle di file è un socket?
- 6. Come capire se un URL è un URL intranet?
- 7. Come capire se un file è un collegamento?
- 8. VB2010 Come capire se un numero è un intero intero
- 9. Come capire se un browser è in modalità "stranezze"?
- 10. Come capire se un tipo è una classe statica?
- 11. Come stabilire se un oggetto è un oggetto RegExp?
- 12. .NET: come determinare se un oggetto è un oggetto COM?
- 13. Verificare se è un oggetto
- 14. Come verificare se un oggetto è definito?
- 15. Come sapere se NSManagedObject è stato salvato?
- 16. KVO - Come verificare se un oggetto è un osservatore?
- 17. Come posso dire, con qualcosa come objdump, se un file oggetto è stato compilato con -fPIC?
- 18. C++ capire se il debugger è collegato
- 19. Come capire se una funzione F # è pura?
- 20. Come controllare se un oggetto è un insieme
- 21. Come verificare se object "isEmpty()" se Object.prototype è stato modificato?
- 22. prova se un oggetto è un Enum
- 23. Verificare se è stato definito un metodo
- 24. Controllare se è stato definito un simbolo
- 25. Come determinare se un file viene ancora trasferito via ftp
- 26. Come capire se un elenco non contiene un elemento?
- 27. Come posso sapere dove è stato istanziato un oggetto?
- 28. Come capire se una classe Java è astratta?
- 29. Come capire se una linea interseca un poligono in C#?
- 30. rilevare se un oggetto è vuoto
La domanda 'duplicato' non è molto specifico, quindi riaperto. Questo fa una domanda specifica e ha una risposta specifica. – leppie