正 文

使用对象清除来提高程序性能


www.7dspace.com  更新日期:2005-12-3 5:55:28  七度空间


微软.NET通用语言运行过程(CLR)环境中的垃圾收集(Garbage collection)使得开发人员没有必要跟踪内存使用而知道何时释放内存。然而,开发人员通常需要与一个对象的运行过程并行操作,所以有必要知道对象何时不再被使用。这一篇文章概括了使用.NET程序中对象清除(object cleanup)的使用步骤。

清除垃圾

虽然垃圾收集在.NET CLR是自动的,但它只能处理适用于垃圾收集的对象。系统跟踪对象并判断哪些对象不再被使用,通过发送对象不再被使用的信号,则可以提高这一过程。这需要调用一个对象的dispose方法。

dispose方法是用于与释放内存资源有关的所有任务,它告诉CLR可用于垃圾收集的相关对象,然后释放所有的被对象使用的外部资源(比如window句柄或HWND,数据库连接等)。

仔细琢磨.NET框架类,可以知道很多类都包括dispose方法,例如,以下的类包含:

    * SqlConnection

    * SqlCommand

    * SqlDataReader

    * Timer

    * EventLog

    * Font

在编码过程中涉及到这些对象时,在不再需要这些对象的情况下,你可以调用dispose方法,由此被对象使用的资源的可返回到系统中。以下的VB.NET源代码范例说明了当处理一个SQL Server连接时的这些对象的使用过程。

Dim conn As SqlConnection
Dim comm As SqlCommand
Dim dr As SqlDataReader
conn = New SqlConnection()
comm = New SqlCommand()
conn.ConnectionString = "data source=test;user id=test;password=test"
comm.CommandText = "SELECT * FROM test
comm.CommandType = CommandType.Text
comm.Connection = conn
conn.Open()
' Do something with the database
conn.Close()
conn.Dispose()
comm..Dispose()
dr.Close()

2页,页码:[1] [2] 

上一篇:使用.NET很容易地访问文件
下一篇:.NET中使用枚举的优点
作者:Tony Patton  来源:开发者在线 ( 责任编辑:7dspace )
收藏此页】【打印】【关闭
站 内 搜 索
 

热 点 导 读
特 别 推 荐