set xxx=nothing就是把對象占用的空間釋放掉。 其他的局部變量都在棧內(nèi)存,用完會自動釋放的
成都創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供陸港網(wǎng)站建設(shè)、陸港做網(wǎng)站、陸港網(wǎng)站設(shè)計、陸港網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、陸港企業(yè)網(wǎng)站模板建站服務(wù),10多年陸港做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
.NET目前的垃圾回收機(jī)制不能實現(xiàn)把對象真正的立即釋放掉,GC會對垃圾進(jìn)行管理,如果垃圾沒有引用計數(shù)了,就會被回收。
編碼的時候能用托管類盡量用托管類去實現(xiàn)你的功能,
對于實現(xiàn)了IDisposable接口的類,用完了記得調(diào)用close或者Dispose又或者相應(yīng)的方法去釋放資源,最好吧使用using語句塊;
對于Com對象,用完了先關(guān)閉,然后調(diào)用Runtime.InteropServices.Marshal.FinalReleaseComObject()方法把Com對象的引用計數(shù)設(shè)置為0。當(dāng) COM 對象的引用計數(shù)變?yōu)?0 時,通常會釋放 COM 對象,不過這取決于 COM
對象的實現(xiàn),而不是運行時可以控制的。最后調(diào)用ComObj = Nothing以釋放ComObj持有的引用。不過要注意,只有當(dāng)ComObj的生存期相對于垃圾回收器用于檢測孤立對象的時間來說很長時,你才應(yīng)該將變量設(shè)置為 Nothing。
有部分來自MSDN
釋放文件可以使用 Resources對象 和 IO對象
下面以文件在資源中類型為 array 的實例代碼
注意引用 imports system.io
Dim?resources?As?System.Resources.ResourceManager?=?My.Resources.ResourceManager
Dim?b()?As?Byte?=?resources.GetObject("文件在資源中的名稱")
Dim?s?As?IO.Stream?=?File.Create(Filepath)'要保存的路徑
s.Write(b,?0,?b.Length)
s.Close()