WebBrowser的内存释放


WebBrowser窗口自动滚动:

this.webBrowser.Document.Window.ScrollTo(0, webBrowser1.Document.Body.ScrollRectangle.Height);
 
WebBrowser的脚本出错信息:
当页面上的脚本出错时,一般情况下会弹出脚本出错提示,如果在用WB写爬虫一类的时候,这类提示可能会导致系统不能工作,解决的发是:
(1)设置属性ScriptErrorsSurpressed = true;
(2)打开IE的设置 "Internet选项" - "高级" - 勾选"禁用脚本调试"
 
WebBrowser的内存释放:
WB的内存开销很大,当连续打开很多网页时这个问题将会非常明显,甚至耗尽内存,解决的方我在MSDN论坛上找到(来源: http://social.msdn.microsoft.com/Forums/en-US/ieextensiondevelopment/thread/88c21427-e765-46e8-833d-6021ef79e0c8/),具体如下:
 
 
This solution worked for me!! 
Thank you so much mike_t2e!!!!!!!

-----------------------------------------------------------------------

Is the memory released when you minimize the app ? If so, try this:


-- in class definition 

        [DllImport("KERNEL32.DLL", EntryPoint = "SetProcessWorkingSetSize", SetLastError = true, CallingConvention = CallingConvention.StdCall)]
        internal static extern bool SetProcessWorkingSetSize(IntPtr pProcess, int dwMinimumWorkingSetSize, int dwMaximumWorkingSetSize);

        [DllImport("KERNEL32.DLL", EntryPoint = "GetCurrentProcess", SetLastError = true, CallingConvention = CallingConvention.StdCall)]
        internal static extern IntPtr GetCurrentProcess();

-- code to call when you want to reduce the memory

            IntPtr pHandle = GetCurrentProcess();
            SetProcessWorkingSetSize(pHandle, -1, -1);


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM