.Net Dispose 記憶體釋放
Dispose()做什
A:標示自己已經沒有用了,告訴GC可以直接把我給回收了,但實際回收也要等GC啓動時。Managed resource沒有執行Dispose()會怎樣?
A : Resource在GC回收時,第一時間點就被回收,只是晚點(第N次GC啓動時)被回收。
3.哪些是Unmanaged Resources
A:最常見的Unmanaged資源類型就是包裝作業系統資源的物件,例如檔案、視窗、網路連接或資料庫連接都屬於這類資源。雖然記憶體回收行程能夠追蹤封裝Unmanaged資源的物件存留期,但是它並不知道如何釋放和清除Unmanaged資源。
4.用Dispose的優點
A:第一次的GC回收就被回收.
- Dispose(), finalizer的差異
A: Dispose()要Programmer程式有寫到. finalizer是一定會被執行到.
6.使用Unmanaged Resources怎樣釋放
A:要實作Dispose(),外加finalizer。如果沒有就等程式結束纔會被釋放。