VB.Net by API/System/GC
Содержание
GC.Collect()
<source lang="vbnet">
Imports System Imports System.Text Imports System.Text.RegularExpressions
Public Class MainClass
Shared Sub Main( ) Dim myObject As Object = New Object() Dim i As Integer For i = 0 To 3 Console.WriteLine(String.Format("Generation = {0}", _ GC.GetGeneration(myObject))) GC.Collect() GC.WaitForPendingFinalizers() Next i End Sub "Main
End Class
</source>
GC.GetGeneration
<source lang="vbnet"> Imports System Imports System.Text Imports System.Text.RegularExpressions
Public Class MainClass
Shared Sub Main( ) Dim myObject As Object = New Object() Dim i As Integer For i = 0 To 3 Console.WriteLine(String.Format("Generation = {0}", _ GC.GetGeneration(myObject))) GC.Collect() GC.WaitForPendingFinalizers() Next i End Sub "Main
End Class
</source>
GC.GetTotalMemory
<source lang="vbnet">
Module Module1
Sub Main() Console.WriteLine("Starting Heap Space: " & GC.GetTotalMemory(False)) Dim BigArray(50000) As Byte Dim BiggerArray(250000) As Byte Console.WriteLine("Heap Space After Arrays: " & GC.GetTotalMemory(False)) BigArray = Nothing Console.WriteLine("Final Heap Space: " & GC.GetTotalMemory(True)) End Sub
End Module
</source>
GC.SuppressFinalize
<source lang="vbnet"> Imports System Imports System.Drawing Imports System.Data Imports System.IO Imports System.Collections Imports System.Windows.Forms Imports System.Drawing.Printing Public Class MainClass
Shared Sub Main() Dim file As New MyFile("c:\FinalizeDemo.txt") " now, clear the reference to the object... file.Dispose() file = Nothing " wait for the user to press return... Console.WriteLine("Press Return to collect the garbage...") " force a collect... GC.Collect() " wait for the user to quit... Console.WriteLine("Press Return to quit...") End Sub
End Class
Public Class MyFile
Implements IDisposable Private stream As FileStream Private isDisposed As Boolean
Public Sub New(ByVal filename As String) stream = New FileStream("test.txt", FileMode.OpenOrCreate) Console.WriteLine("Object " & GetHashCode() & " created.") Console.WriteLine("Using file: " & filename) End Sub Public Sub Dispose() Implements System.IDisposable.Dispose If isDisposed = True Then Return stream.Close() stream = Nothing isDisposed = True GC.SuppressFinalize(Me) Console.WriteLine("Object " & GetHashCode() & " disposed.") End Sub Protected Overrides Sub Finalize() Dispose() Console.WriteLine("Object " & GetHashCode() & " finalized.") End Sub
End Class
</source>
GC.WaitForPendingFinalizers()
<source lang="vbnet"> Imports System Imports System.Text Imports System.Text.RegularExpressions
Public Class MainClass
Shared Sub Main( ) Dim myObject As Object = New Object() Dim i As Integer For i = 0 To 3 Console.WriteLine(String.Format("Generation = {0}", _ GC.GetGeneration(myObject))) GC.Collect() GC.WaitForPendingFinalizers() Next i End Sub "Main
End Class
</source>