不错呦!smile@林凯西,确保“准备文件”中的几个文件都有安装,S...您好,看了您这篇帖子觉得很有帮助。但是有个问题想请...我的修改过了怎么还被恶意注册呢 @jjjjiiii 用PJ快9年了,主要是A...PJ3啊,貌似很少有人用PJ了,现在不是WP就是z...@332347365,我当时接入时错误码没有-10...楼主,ChkValue值应为-103是什么意思呢?...大哥 你最近能看到我发的信息,请跟我联系,我有个制...
多次创建WebBrowser控件会导致应用程序占用内存居高不下
编辑:dnawo 日期:2015-01-19
今天发现刚写的WinForm应用程序占用内存不正常,经分析测试发现是由于多次创建WebBrowser控件导致,为了便于说明问题,下边是简化后的代码:
Form1.cs:
Form2.cs:
查阅MSDN有如下说明:
然而实际测试Dispose方法并不能让内存降下来,目前没找到好的解决方法,后又测试发现在同一WebBrowser控件中打开不同页面,内存基本保持在一定的范围,因此:应避免多次创建WebBrowser控件,尽量在同一WebBrowser控件打开页面。
参考资料
[1].WebBrowser 类:http://msdn.microsoft.com/zh-cn/library/system.windows.forms.webbrowser.aspx
Form1.cs:
复制内容到剪贴板 程序代码
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
(new Form2()).Show();
}
}
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
(new Form2()).Show();
}
}
Form2.cs:
复制内容到剪贴板 程序代码
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void Form2_Load(object sender, EventArgs e)
{
webBrowser1.Navigate("http://www.taobao.com/");
}
}
{
public Form2()
{
InitializeComponent();
}
private void Form2_Load(object sender, EventArgs e)
{
webBrowser1.Navigate("http://www.taobao.com/");
}
}
查阅MSDN有如下说明:
引用内容
WebBrowser 控件会占用大量资源。 使用完该控件后一定要调用 Dispose() 方法,以便确保及时释放所有资源。 必须在附加事件的同一线程上调用 Dispose() 方法,该线程应始终是消息或用户界面 (UI) 线程。
然而实际测试Dispose方法并不能让内存降下来,目前没找到好的解决方法,后又测试发现在同一WebBrowser控件中打开不同页面,内存基本保持在一定的范围,因此:应避免多次创建WebBrowser控件,尽量在同一WebBrowser控件打开页面。
参考资料
[1].WebBrowser 类:http://msdn.microsoft.com/zh-cn/library/system.windows.forms.webbrowser.aspx
上一篇: 我是如何在SQLServer中处理每天四亿三千万记录的[转]
下一篇: CYQ.Data开源数据层框架使用示例
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
最新日志:
下一篇: CYQ.Data开源数据层框架使用示例
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
最新日志:
评论: 0 | 引用: 0 | 查看次数: 2737
发表评论
请登录后再发表评论!