.Net Dispose 记忆体释放

.Net Dispose 记忆体释放

  1. Dispose()做什
    A:标示自己已经没有用了,告诉GC可以直接把我给回收了,但实际回收也要等GC启动时。

  2. Managed resource没有执行Dispose()会怎样?
    A : Resource在GC回收时,第一时间点就被回收,只是晚点(第N次GC启动时)被回收。

3.哪些是Unmanaged Resources
A:最常见的Unmanaged资源类型就是包装作业系统资源的物件,例如档案、视窗、网路连接或资料库连接都属于这类资源。虽然记忆体回收行程能够追踪封装Unmanaged资源的物件存留期,但是它并不知道如何释放和清除Unmanaged资源。

4.用Dispose的优点
A:第一次的GC回收就被回收.

  1. Dispose(), finalizer的差异
    A: Dispose()要Programmer程式有写到. finalizer是一定会被执行到.

6.使用Unmanaged Resources怎样释放
A:要实作Dispose(),外加finalizer。如果没有就等程式结束才会被释放。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章