关于vb内存的问题

浪客 2008-03-29 12:45:21
最近写了个记事本,运行都正常,内存占用10M左右。

可一旦关闭这个程序,内存使用量就飙升,我1G的内存有600M多被他占用了
大概占用5秒左右后程序才能完全退出,它占用的内存完全释放。。

一直很奇怪这个问题,详细检查了代码,使用的对象都是使用完后就用set xxx=nothing,可问题还是依旧,走投无路来这里请教高手帮忙。。~

...全文
147 6 打赏 收藏 举报
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
浪客 2008-03-31
基本上已经解决,是跟搜狗输入法有关系。
每次打开一个窗口的时候都会运行搜狗的一个进程,
关闭时就会占内存。
如果不打开那个窗口,关闭时就不会占内存了。。
  • 打赏
  • 举报
回复
qpzl001 2008-03-29
最好发点代码上来看一下。
  • 打赏
  • 举报
回复
东方之珠 2008-03-29
还要注意:简单对象先清空(独立对象),复杂对象后清空(又被其他对象引用,先清空其他对象)
  • 打赏
  • 举报
回复
东方之珠 2008-03-29
'按照这个顺序关闭程序:
'1、清空对象
set object1=nothing
set object2=nothing
...................
set objectn=nothing

'2、卸载窗体
unload form1
unload form2
............
unload formn

'3、终止程序,任务交给VB处理
End '这一行千万别忘了!



  • 打赏
  • 举报
回复
barenx 2008-03-29
对象的循环引用

dim a,b,c,d
set a.obj=b
set b.obj=c
set c.obj=d
set d.obj=a

set a=nothing
'but 'a' still in memory

  • 打赏
  • 举报
回复
forbearORfolie 2008-03-29
set object=nothing 并不能立即释放实例化的object,它会先检查object的在程序中的引用,如果有object之间的相互引用,它将会等到其中一个object的引用结束后,才会释放引用这个object的其它object。
  • 打赏
  • 举报
回复
相关推荐
发帖
VB基础类
加入

7595

社区成员

VB 基础类
社区管理员
  • VB基础类社区
申请成为版主
帖子事件
创建了帖子
2008-03-29 12:45
社区公告
暂无公告