none
c#用WebBrower控件定时访问不同的网页时如何释放内存 RRS feed

  • 问题

  • 在c#程序里是用WebBrower控件定时访问不同的网页,

        程序运行时间越长,占用的内存资源越多,最后所有的内存都用完了,

        程序会报错,提示大概意思是"资源在使用中"

       WebBrower1.Dispose();使用这句想释放内存,但定时器下次触发定时处理事件时,会报不能使用已释放的资源.

        请各位帮一忙,看有没有好的解决办法?


    田田qq:764574267
    2010年5月12日 7:02

答案

  • WebBrower 非常吃内存,他的原理和浏览器类似,是去执行访问内容的,如果不需要这个功能,建议用webclient来访问,内存消耗少很多。

     


    family as water
    2010年5月12日 9:49
  • 原理我已经在“关于 Dispose 的使用方法”一贴中回复。希望对您有帮助。


    Mark Zhou
    2010年5月12日 10:02

全部回复

  • 定义一个全局的webbrowseer

    然后添加到当前的controls.

    事件开始的地方 判断一下是否为null 或disposed

    是的话 就new 一次

     

     

    2010年5月12日 8:05
  • WebBrower 非常吃内存,他的原理和浏览器类似,是去执行访问内容的,如果不需要这个功能,建议用webclient来访问,内存消耗少很多。

     


    family as water
    2010年5月12日 9:49
  • 原理我已经在“关于 Dispose 的使用方法”一贴中回复。希望对您有帮助。


    Mark Zhou
    2010年5月12日 10:02
  • 升级到IE8。之前的脚本引擎不能主动的去解页面上的脚本中的循环引用。

    建议的方法还是开多个进程。



    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful.
    Visual C++ MVP
    2010年5月12日 19:10