当前位置:编程学习 > VB >>

为什么我的程序在内存中越来越大?

Private Sub Timer1_Timer()
WebBrowser1.Navigate "http://www.baidu.com"
End Sub


timer时间间隔为6秒 --------------------编程问答-------------------- 结帖率:0.00% 是因为没发过帖子 --------------------编程问答-------------------- LZ:从你代码看,每6秒打开1个网页,不断在增加内存的开销,当然程序在内存越来越大.
建议使Timer的Enabled = False
Private Sub Timer1_Timer()
    WebBrowser1.Navigate "http://www.baidu.com"
    Timer1.Enabled = False
End Sub
--------------------编程问答-------------------- 你不停地打开网页,当然占内存了 --------------------编程问答-------------------- 有没有办法解决?
比如删除缓存?

引用 3 楼 ningweidong 的回复:
你不停地打开网页,当然占内存了
--------------------编程问答-------------------- 实际工作需要这样做的
使Timer的Enabled = False 就失去程序的意义了

引用 2 楼 zdingyun 的回复:
LZ:从你代码看,每6秒打开1个网页,不断在增加内存的开销,当然程序在内存越来越大.
建议使Timer的Enabled = False

VB code
Private Sub Timer1_Timer()
    WebBrowser1.Navigate "http://www.baidu.com"
    Timer1.Enabled = False
End Sub
--------------------编程问答-------------------- 这跟IE版本有关,IE6以下存在内存泄露,内存只增不降,直到关闭后才释放。 --------------------编程问答-------------------- 在问D版Windows如何升级IE之前,还是想问问能否用VB编程实现其释放?

引用 6 楼 lyserver 的回复:
这跟IE版本有关,IE6以下存在内存泄露,内存只增不降,直到关闭后才释放。
--------------------编程问答--------------------
引用 5 楼 zx061z 的回复:
实际工作需要这样做的
使Timer的Enabled = False 就失去程序的意义了


引用 2 楼 zdingyun 的回复:
LZ:从你代码看,每6秒打开1个网页,不断在增加内存的开销,当然程序在内存越来越大.
建议使Timer的Enabled = False

VB code
Private Sub Timer1_Timer()
WebBrowser1.Navigat……


不知道LZ每6秒打开http://www.baidu.com出于啥目的?

--------------------编程问答-------------------- 当然是打开别的地方。
http://www.baidu.com 仅仅是个例子。

引用 8 楼 zdingyun 的回复:
引用 5 楼 zx061z 的回复:
实际工作需要这样做的
使Timer的Enabled = False 就失去程序的意义了


引用 2 楼 zdingyun 的回复:
LZ:从你代码看,每6秒打开1个网页,不断在增加内存的开销,当然程序在内存越来越大.
建议使Timer的Enabled = False

VB code
Private Sub Timer1_Timer()
……
--------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 让 HTML 页面自己实现定时刷新,看是否还存在内存增加的问题。

比较恶心的方法是将浏览程序和定时程序分开,定时程序定时通过 shell 命令调用浏览程序,浏览程序浏览后就关闭自己。 --------------------编程问答-------------------- 网页本身就很占内存。
你在电脑上多打开几个网页,看一下不就知道了 --------------------编程问答-------------------- 哇  结贴率0 --------------------编程问答-------------------- 狗眼看人低

引用 14 楼 manpuku 的回复:
哇 结贴率0
--------------------编程问答-------------------- ........我进错地方了,抱歉. --------------------编程问答--------------------
引用 12 楼 tiger_zhao 的回复:
让 HTML 页面自己实现定时刷新,看是否还存在内存增加的问题。

比较恶心的方法是将浏览程序和定时程序分开,定时程序定时通过 shell 命令调用浏览程序,浏览程序浏览后就关闭自己。
我经常这样做的,放webbrowser控件的单独作为一个exe,执行完后就关闭掉。 --------------------编程问答-------------------- 你算个鸟!

引用 16 楼 myjian 的回复:
........我进错地方了,抱歉.
--------------------编程问答-------------------- 不知道就别掺和。

引用 8 楼 zdingyun 的回复:
引用 5 楼 zx061z 的回复:
实际工作需要这样做的
使Timer的Enabled = False 就失去程序的意义了


引用 2 楼 zdingyun 的回复:
LZ:从你代码看,每6秒打开1个网页,不断在增加内存的开销,当然程序在内存越来越大.
建议使Timer的Enabled = False

VB code
Private Sub Timer1_Timer()……
--------------------编程问答--------------------
引用 18 楼 wz292719161 的回复:
你算个鸟!


引用 16 楼 myjian 的回复:

........我进错地方了,抱歉.
没惹你吧,咬我干嘛?

让我想起了某个博士. --------------------编程问答--------------------
引用 19 楼 wz292719161 的回复:
不知道就别掺和。


引用 8 楼 zdingyun 的回复:

引用 5 楼 zx061z 的回复:
实际工作需要这样做的
使Timer的Enabled = False 就失去程序的意义了


引用 2 楼 zdingyun 的回复:
LZ:从你代码看,每6秒打开1个网页,不断在增加内存的开销,当然程序在内存越来越大.
建议使Timer的Enabled = False
……
还真是逮谁咬谁,挺像,赶紧跑....... --------------------编程问答-------------------- 内存泄露? --------------------编程问答-------------------- 为什么要不停的打开同一个网页而不是每6秒刷新一次? --------------------编程问答-------------------- 哈哈,老马你真霉 --------------------编程问答--------------------
引用 23 楼 fzx4936 的回复:
为什么要不停的打开同一个网页而不是每6秒刷新一次?

同意,
每6秒打开同一个网页,如果打开前不关闭上一次打开的网页,占用内存当然会越来越大,合理的办法是每6秒刷新一次 --------------------编程问答-------------------- 为什么要不停的打开同一个网页而不是每6秒刷新一次? --------------------编程问答-------------------- 里面估计有马甲 --------------------编程问答--------------------
引用 24 楼 hotus 的回复:
哈哈,老马你真霉

你可别笑得太早,没准连你一起咬,哈哈. --------------------编程问答-------------------- 打开的网页多了~ --------------------编程问答-------------------- 你建立一个监控句柄,
将老的页面关闭,清掉缓存啊 --------------------编程问答-------------------- --------------------编程问答-------------------- 这个问题我一直都关注的,我也一直很无奈,后来发现Flash控件这个东东,用完内存几乎永不释放的
同一个进程你打开的Flash越多,那个内存可以飙升的 --------------------编程问答-------------------- Private Sub Timer1_Timer()
    WebBrowser1.Navigate "http://www.baidu.com"
    WebBrowser1.refresh
End Sub

这样如何?
--------------------编程问答-------------------- 如果那个网页是你自己的,那就在网页里用
<script>
window.setInterval(function(){
location.reload();
},6000);
</script>

以后刷新时间直接改网页就行了,不用“死的”VB程序来决定~ --------------------编程问答-------------------- 我来学习的
补充:VB ,  基础类
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,