C#:如何手工釋放資源

.NET 平臺在內(nèi)存管理方面提供了GC(Garbage Collection),負(fù)責(zé)自動釋放托管資源和內(nèi)存回收的工作。但在以下兩種情況需要我們手工進(jìn)行資源釋放:一、由于它無法對非托管資源進(jìn)行釋放,所以我們必須自己提供方法來釋放對象內(nèi)分配的非托管資源,比如你在對象的實(shí)現(xiàn)代碼中使用了一個(gè)COM對象;二、你的類在運(yùn)行是會產(chǎn)生大量實(shí)例(象 GIS 中的Geometry),必須自己手工釋放這些資源以提高程序的運(yùn)行效率

最理想的辦法是通過實(shí)現(xiàn)一個(gè)接口顯式的提供給客戶調(diào)用端手工釋放對象,System 命名空間內(nèi)有一個(gè) IDisposable 接口,拿來做這事非常合適,省得我們自己再聲明一個(gè)接口了


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • java 接口的意義-百度 規(guī)范、擴(kuò)展、回調(diào) 抽象類的意義-樂視 為其子類提供一個(gè)公共的類型封裝子類中得重復(fù)內(nèi)容定...
    交流電1582閱讀 2,389評論 0 11
  • 托管資源內(nèi)存管理機(jī)制 .Net中將數(shù)據(jù)分為兩種類型:值數(shù)據(jù)類型和引用數(shù)據(jù)類型,這兩種數(shù)據(jù)類型存儲在內(nèi)存中的不同的地...
    FaithXiong閱讀 1,429評論 0 1
  • *面試心聲:其實(shí)這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個(gè)offer,總結(jié)起來就是把...
    Dove_iOS閱讀 27,625評論 30 472
  • 1 羅小林一直很討厭自己的名字,又普通又世俗。 羅小林被甩了。 沒啥驚天動地,不就是性格不合。 摔了手機(jī)爬辦公桌前...
    綠水紅毛閱讀 331評論 0 1
  • 第一章 中國式愛情的樣子 中國式的家庭中鮮有愛情的存在,在中國的文學(xué)史上,有愛情也是哪種凄美的,不可得的,...
    婉冰Wendy閱讀 496評論 0 0

友情鏈接更多精彩內(nèi)容