WebBrowser内存泄露
生活随笔
收集整理的這篇文章主要介紹了
WebBrowser内存泄露
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
使用WebBrowser控件開發的程序,占用內存會隨著時間不停增長,最終內存溢出導致崩潰。究其原因是由于其自身的缺陷造成的。每一次加載新頁面,WebBrowser就會多占用10-20M內存,有資料說是因為其內在的機制沒有釋放而導致的。這是微軟承認的已知BUG,具體的修復補丁點此下載(此補丁似乎只支持XP、2003、Vista)。
《WebBrowser?控件?內存溢出(泄露)?解決方案匯總》這篇文章中給出了幾個解決辦法,具體的內容如下:
1.建立線程,動態創建WebBrowser,再試用完后freeandnil,線程銷毀WebBrowser所占用的內存也隨即銷毀。
2.建立多程序,通過程序1,調用程序2進行頁面訪問,當操作完后,程序2退出,內存自動清除回收,程序與程序之間的信息交互可通過ini文件的讀取和保存。
3.把IE升級到IE8,如果是使用的VB6開發的程序,可以修改注冊表,使程序能夠正常運行。修改腳本如下:
我親自嘗試過第二個解決方案,但是我并沒有使用ini文件進行讀取和保存信息,而是采用的調用Window API跨進程傳遞信息來解決的,可以參考這篇文章《Winform跨進程通訊》。
總結
以上是生活随笔為你收集整理的WebBrowser内存泄露的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信用卡积分很多渠道被关闭 天猫积分兑换渠
- 下一篇: 您访问的URL地址不被允许。