簡體   English   中英

啟動VB.NET表單作為一個單獨的過程

[英]Launch VB.NET form as a separate process

我有一個VB.NET應用程序,其中一個窗體具有IE控件,該應用程序最初以9 MB左右的內存大小啟動,但是啟動IE窗體時,消耗的內存增加到27 MB,而當該窗體為關閉時,內存僅減少3-4 MB,那么為什么分配給IEFrame的內存不會自動取消分配? 有什么解決的辦法嗎? 如果可能,將表單作為一個單獨的過程啟動將很有幫助。

如果確保正確處理該表單,則垃圾收集器最終應釋放該內存。 不必在單獨的進程中運行IE控件。 但是,如果您使用的是IE 7,則可能需要閱讀有關內存泄漏的問題

如果這是一個問題,為什么不將表單單獨放在單獨的應用程序中呢? 您可以通過多種方法在兩個應用程序之間傳遞任何數據。

仍然分配的內存可能根本不是問題。 如果計算機中有足夠的可用內存,.NET垃圾收集器將無法運行以進行清理。 僅當您需要內存時,GC才會啟動。

如果要確保它是泄漏,可以執行以下操作:

  1. 確保您沒有任何形式的引用。
  2. 呼叫GC.Collect()
  3. 查看內存是否仍被占用

不要將GC.Collect()放入最終版本; 這只是為了確保您沒有在尋找幽靈。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM