教程集 www.jiaochengji.com
教程集 >  脚本编程  >  Asp.net  >  正文 解决WebBrowser控件会导致应用程序占用内存居高不下问题

解决WebBrowser控件会导致应用程序占用内存居高不下问题

发布时间:2016-11-29   编辑:jiaochengji.com
教程集为您提供解决WebBrowser控件会导致应用程序占用内存居高不下问题等资源,欢迎您收藏本站,我们将为您提供最新的解决WebBrowser控件会导致应用程序占用内存居高不下问题资源
WebBrowser 是一个 .NET 控件类,在 .NET Framework 2.0 版中新增。WebBrowser 类使用户可以在窗体中导航网页,下面我们来看在开发中碰到WebBrowser控件会导致应用程序占用内存居高不下问题解决方法.

今天发现刚写的WinForm应用程序占用内存不正常,经分析测试发现是由于多次创建WebBrowser控件导致,为了便于说明问题,下边是简化后的代码:

Form1.cs:
 
public partial class Form1 : Form
{
    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.jiaochengji.com/");
    }
}

\'解决WebBrowser控件会导致应用程序占用内存居高不下问题\'

 

查阅MSDN有如下说明:

引用内容
WebBrowser 控件会占用大量资源。 使用完该控件后一定要调用 Dispose() 方法,以便确保及时释放所有资源。 必须在附加事件的同一线程上调用 Dispose() 方法,该线程应始终是消息或用户界面 (UI) 线程。

然而实际测试Dispose方法并不能让内存降下来,目前没找到好的解决方法,后又测试发现在同一WebBrowser控件中打开不同页面,内存基本保持在一定的范围,因此:应避免多次创建WebBrowser控件,尽量在同一WebBrowser控件打开页面。

您可能感兴趣的文章:
解决WebBrowser控件会导致应用程序占用内存居高不下问题
解决VB中webbrowser调用IE版本问题
电脑物理内存频繁出现过高使用率的解决方法
解决搜狗浏览器占用内存过大问题
Win10磁盘100%占用空间不足怎么办
电脑开机蓝屏是什么原因?电脑蓝屏的解决办法
NT Kernel & System 进程CPU占用过高问题解决方法
system Idle Process CPU占用率高是什么原因?如何解决
吉吉影音播放器经常闪退问题解决办法
电脑不能正常关机怎么办?电脑不能正常关机解决办法

[关闭]
~ ~