VB的内存释放(鄙视那些说内存泄露的人,适用VB6,.NET)
来源:互联网 发布:软件无线电原理 编辑:程序博客网 时间:2024/06/05 09:32
很多人都发现过,VB使用webbrowser等网络控件或其他一些大型控件时,占用的内存资源会不停的上涨,直到机器支持不了,运行崩溃。很多自以为是的高手要么说VB内存管理的问题,要么IE内核存在泄露。其实不然,只是了解的不够而已。
在VB中,一个对象(包括控件)使用以后,可以用set s=nothing来销毁(销毁后不立即释放内存的,要等待windows的内存机制来释放)。
但我们可以用EmptyWorkingSet来释放内存(当然,也可以用SetProcessWorkingSetSize配合使用,但是SetProcessWorkingSetSize不能连续使用,伤不起啊)。
由于窗体原生控件不能销毁,可以把会累积内存资源的控件用代码动态创建,然后就可以销毁后释放内存了。这一点很重要,很多人习惯于使用webbrowser控件,不停的改变webbrowser的网页内容,内存会不停上涨的,使用原生控件,真的没什么好办法了,建议你用代码创建一个动态控件试试,是不是能销毁了?
创建方式:
Set Wb1 = Me.Controls.Add("shell.explorer.2", "wb1")销毁方式1:
Me.Controls.Remove Wb1
销毁方式2:
set wb1=nothing
然后用EmptyWorkingSet释放内存即可。瞬间释放哦!看下图:
1、释放前
2、释放后
感觉如何?瞬间释放,无停顿的
- VB的内存释放(鄙视那些说内存泄露的人,适用VB6,.NET)
- VB.Net内存管理与内存释放的方法
- VB.Net内存管理与内存释放的方法
- [VB.Net]释放程序内存占用的方法
- [js][内存泄露][内存回收][内存释放]avascript的内存释放实验
- [js][内存泄露][内存回收][内存释放]avascript的内存释放实验
- C/C++中内存释放及内存泄露的检测
- 关于内存泄露的那些事
- ARC 下内存泄露的那些点
- ARC 下内存泄露的那些点
- ARC 下内存泄露的那些点
- 那些年,我们一起泄露的内存
- ARC 下内存泄露的那些点
- Net资源泄露(内存泄露,GDI泄露,handle 泄露等)的终极解决方案
- Net资源泄露(内存泄露,GDI泄露,handle 泄露等)的终极解决方案
- Net资源泄露(内存泄露,GDI泄露,handle 泄露等)的终极解决方案(转)
- Net资源泄露(内存泄露,GDI泄露,handle 泄露等)的终极解决方案
- VB.NET程序如何巧妙释放内存
- [Effective Java Distilled] Item 3 通过使用私有构造方法或者枚举类型来强化单例属性
- opencv查找轮廓---cvFindContours && cvDrawCountours 用法及例子
- C++类构造函数初始化列表
- 标准程序流程图的符号及使用约定
- Factory模式与Prototype模式的异同
- VB的内存释放(鄙视那些说内存泄露的人,适用VB6,.NET)
- IOS后台线程更新UI的一个陷阱
- C语言编译的顺序。关于 .c 文件 .h 文件的用法。Makefile文件简单概念。
- 二叉排序树转换成双向链表
- VC调用DLL
- 拓扑排序模板(备忘之用)
- 《C++ Primer》 第02章 [ 变量和基本类型 ]
- HDU1788 水题
- poj 1094 topsort