关于vb内存的问题

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

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

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

...全文
216 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
浪客 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。

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧