扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
(1)如果ComboBox中的不是通过数据绑定得到的,用ComboBox.Items.Clear 方法 从 ComboBox 中移除所有项。
创新互联专业网站设计制作、成都网站建设,集网站策划、网站设计、网站制作于一体,网站seo、网站优化、网站营销、软文营销等专业人才根据搜索规律编程设计,让网站在运行后,在搜索中有好的表现,专业设计制作为您带来效益的网站!让网站建设为您创造效益。
'清除所有项
ComboBox1.Items.Clear()
'清除ComboBox1显示
ComboBox1.ResetText()
(1)如果ComboBox中的是通过数据绑定得到的,在用ComboBox.Items.Clear 方法 从 ComboBox 中移除所有项之前,先断开绑定的数据源。
'断开数据源
ComboBox1.DataSource = Nothing
'清除所有项
ComboBox1.Items.Clear()
'清除ComboBox1显示
ComboBox1.ResetText()
一般.net的垃圾回收机制会在过程结束后进行垃圾回收,但是垃圾回收是比较消耗系统资源的,所以不可能经常被调用。
如果你需要强制进行垃圾回收,可在过程最后添加如下代码:
GC.Collect()
强制进行垃圾回收
Dim strFileName As String = "g:\test.txt"
If IO.File.Exists(strFileName) Then
My.Computer.FileSystem.DeleteFile(strFileName, FileIO.UIOption.OnlyErrorDialogs, FileIO.RecycleOption.SendToRecycleBin, FileIO.UICancelOption.DoNothing)
End If
好久没搞.net了,都忘了,刚才查了一下MSDN,好似就没有你说能清空的办法,你直接close不就得了,为什么还要清数据?
如果你认为占用资料,可以直接set dataReader =nothing,将资源释放
重启机器-按F8-选择进入安全模式,在安全模式下删除,
如果还是不能删除,右击回收站-属性:把回收站的最大空间设置为0,确定,,然后打开回收站,如果已经清空了,再调回来~
很简单,你没有正确理解VB.net的内存自动回收机制,仔细看一下MSDN,好好研究一下相关的内容。其实JAVA的内存自动回收机制与VB.net是类似的,如果你用VB.NET做不好,换用JAVA照样做不好。
其实,你已经发现了为什么内存不能回收,只是你没意识到罢了。
为什么要用全局变量呢?给你举个极端的例子吧:建立一个全局的Hashtable,然后将程序中创建的每一个对象实例加入到这个hashtable中,那么你将看到内存一直猛增,直到崩溃。
正确的作法是:
1、尽量不用、少用全局变量和静态变量
2、如果没有必要,就不要把对象实例加到全局或静态的Hashtable、ArrayList之类的集合中去,除非你是想自己建立一个对象缓冲池
3、如果你自己要建立对象缓冲池,就一定要注意对象的清理,尽早将不用的对象从池中删除
4、找本好一点的数据结构,仔细学学其中关于自动内存回收的那几种机制,以后在程序中不要违反它们的要求前提条件。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流