當前位置:成語大全網 - 新華字典 - C#弱引用(WeakReference)

C#弱引用(WeakReference)

在日常開發中,通常會遇到壹些大對象的處理。這些大對象通常在整個程序中多次使用。例如:大文件對象,大的字典類。通常情況下我們會使用下面的方式:

作為壹個方法的內置本地變量;

作為壹個類的字段存在;

這兩種方式都不是很好。作為壹個類的字段,類的實例將壹直持有這個大對象,消耗很多內存;作為壹個方法的本地變量使用,當方法執行完畢,這個大對象離開了作用域,但此時不壹定會被GC直接回收。造成不必要的內存消耗。且每次調用該方法時,會重新創建新的大對象,增加程序的內存消耗。

如果創建對象很消耗資源,且我們想要避免多次創建同壹個對象。可以使用類的字段方式。

通常情況下,當壹個對象離開了作用域,或者被設置為null。我們將無法訪問到它。.NET提供了壹個 WeakReference 類,可以完美的解決這個問題。

引用:

[.NET] WeakReference的使用