none
程式執行已結束,但仍佔用記憶體資源.... RRS feed

解答

所有回覆

  • 通常CLR的GC會幫你釋放Heap的記憶體, 可是Unmanaged resource的記憶體你需要藉由Dispose()方法來釋放
    2006年6月9日 上午 03:57
  • 程式結束後,系統會自動釋放你的記憶體,程式執行期間,可參考線上手冊相關描述來處理。

    建議你明確舉例,才好針對狀況討論,否則大家也只能講些概念性的東西而已。

    2006年6月9日 上午 06:27
    版主
  •  

    已經在其它地方獲得解答,有需要的,請自行參考,感謝大家的幫忙。

     

    http://www.blueshop.com.tw/board/show.asp?subcde=BRD200606091331331C9&fumcde=FUM200501271723350KG&rplcnt=4

     

    2006年6月9日 上午 09:19
  • End 是強制終止

    若你不使用 End 不會將程式結束,要看你原先程式怎樣寫,才知道你是什麼東西沒放掉。一般仍然希望你確認,請注意下面轉貼的最後一段,最好是在沒用 End 都能正常結束,才是正常的程式。

    此外,End 只能釋放你使用 VB 敘述所消耗的記憶體,若是你呼叫 API alloc 這類沒有依規定來釋放,這個記憶體有可能在你重新開機前,都沒有別的程式能用。

    關於 End 特性請參考線上手冊的附註:

    附註   End 陳述式可以強制程式碼終止,無須經過 Unload、QueryUnload,或 Terminate 事件,或任何其它的 Visual Basic 程式碼。Unload、QueryUnload,表單物件類別模組的 Terminate 事件都不會執行。由物件類別模組所建立的物件會被破壞、以 Open 陳述式開啟的檔案會被關閉,程式所佔用的記憶體空間也會被釋放。

    End 陳述式是一種強制程式停止執行的方式。一般要結束 Visual Basic 程式前,都必須先載出所有表單,確定沒有其它程式引用到其中的物件,且沒有執行中的程式碼,才能結束。

    2006年6月9日 上午 10:14
    版主