[問題] Webbrowser 記憶體不足

看板C_Sharp作者 (TTP)時間9年前 (2015/05/02 15:56), 編輯推噓3(3014)
留言17則, 5人參與, 最新討論串1/1
大家好 我正在開發一個網路爬蟲 能夠一個一個進去google搜尋出來的結果網址 把網頁的原始碼抓下來分析 我的程式碼大概如下 WebBrowser webBrowser = new WebBrowser(); while(1) { webBrowser.Navigate(_Url); while (webBrowser.ReadyState != WebBrowserReadyState.Complete) Application.DoEvents(); string result = webBrowser.DocumentText; ....... } 一直不斷重複while(1)裡面的事情(Google的結果很多) 但跑了一段時間 便會發生以下的狀況 http://imgur.com/m15vYvi
意思應該是webbrowser這個元件的記憶體被塞滿了 請問有沒有辦法讓我將webbrowser的記憶體清空呢? 謝謝大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 182.234.150.68 ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1430553383.A.F87.html

05/03 00:30, , 1F
加入搜尋深度
05/03 00:30, 1F

05/03 00:54, , 2F
不太懂 請問是什麼意思?
05/03 00:54, 2F

05/03 13:39, , 3F
不是有事件通知嗎...為何要用輪詢檢查
05/03 13:39, 3F

05/04 16:17, , 4F
你有出迴圈嗎?
05/04 16:17, 4F

05/04 17:30, , 5F
有出迴圈
05/04 17:30, 5F

05/04 21:32, , 6F
設個條件, run幾次以後讓物件重新產生 或為空呢?
05/04 21:32, 6F

05/04 21:35, , 7F
如果你是用textbox 也要考慮這些元件承受長度的能力
05/04 21:35, 7F

05/04 21:36, , 8F
建議時時清暫存, 將撈回的資料寫到txt之類的data
05/04 21:36, 8F

05/04 21:37, , 9F
有需要再撈出做處理。(除非你是要一次做全部統計)
05/04 21:37, 9F

05/04 21:38, , 10F
再沒辦法就朝垃圾回收(GC)看看有沒解吧
05/04 21:38, 10F

05/04 23:57, , 11F
請問要怎麼讓Webbrowser物件為空呢?
05/04 23:57, 11F

05/04 23:58, , 12F
我用webbrowser.dispose()釋放資源後那個browser
05/04 23:58, 12F

05/04 23:58, , 13F
就不能用了 有辦法讓他reset嗎?
05/04 23:58, 13F

05/05 01:15, , 14F
重新new,不過我更推薦整個程式restart (帶參數執行自己,
05/05 01:15, 14F

05/05 01:15, , 15F
然後把自己關掉)
05/05 01:15, 15F

05/05 01:17, , 16F
不過這是最後一招,你應該先研究DocumentCompleted事件...
05/05 01:17, 16F

05/06 16:18, , 17F
好的 我研究看看 謝謝您
05/06 16:18, 17F
文章代碼(AID): #1LH8Cd-7 (C_Sharp)