就像標題上所寫的,
GC 是一個類別;控制系統記憶體回收行程,自動重新利用未使用之記憶體的服務。
Dispose 是一個方法;釋放 MarshalByValueComponent(類別) 所使用的資源。
雖然二個常用來清掉一些佔用的記憶空間,但根據預設值,記憶體回收行程不會呼叫 Dispose 方法;然而,Dispose 方法的實作可以呼叫 GC 類別中的方法來自訂記憶體回收行程的最終處理行為。
參考資料
MSDN Library / GC 類別
MSDN Library / Dispose 方法
GC(Garbage Collector)在使用上,
建議不要跟執行呼叫的程序放在一塊,
說明如下:
因為會沒有用的 ^ ^" 在下試過了
Sub DoExport()
ExportToExcel()
'......
'GC 放這裡才有效果
GC.Collect()
End Sub
Sub ExportToExcel()
Dim sfd As New SaveFileDialog
With sfd
.DefaultExt = "xls"
.RestoreDirectory = True
.Filter = "Microsoft Office Excel 活頁簿 (*.xls)|*.xls"
.FilterIndex = 1
.Title = "儲存檔案"
.FileName = String.Format("{0:yyyyMMdd hhmmss}", Now) '& " 多角貿易訂單、採購、進貨、銷貨資料檢查"
End With
If sfd.ShowDialog() = DialogResult.OK Then
Dim xlsApp As Microsoft.Office.Interop.Excel.Application
Dim xlsWB As Microsoft.Office.Interop.Excel.Workbook
Dim xlsSht As Microsoft.Office.Interop.Excel.Worksheet
End If
'......
'GC 不要和 Excel 放在同一層,這樣會沒有作用
GC.Collect()
End Sub
沒有留言:
張貼留言