Re: [問題] 請問C#的delete...
※ 引述《ilovebbs (!!)》之銘言:
: ※ 引述《tomex (Tomex Ou)》之銘言:
: : c#不需要刪物件,只要該物件沒被參考到
: : 就會被GC自動回收。
: : Garbage Collector的回收機制
: : http://blog.taiwanpage.com.tw/rssview.cfm?id=34746
: : 但~ 如果你是愛乾淨的人,很難接受這樣
: : 因此你可以呼叫物件的 Dispose()函數來明確回收
: : 另也可以善用 using(object o) {...}
: : 它也能自動引發Dispose()函數。
: 我想問一下,呼叫Dispose是馬上會回收嗎?
: 我發現好像不是馬上回收的樣子,有方法可以讓它馬上回收掉嗎?
Dispose()使用是我們用來釋放掉一個物件最大效能負荷的記憶體使用
如關檔或其他耗資源的記憶體陣列等等
其實這樣就夠了,其餘的就讓gc來自動搜集就好了
有程式潔癖的人可能仍然覺得不夠,但留一條生路走
其實可以增加很多效能,例如Weak Reference觀念:
http://wiki.dabutek.com/WeakReference.ashx
當然,你也可以再強制呼叫Finialize()或GC.Collect()等清除動作
但我試過好像也不會立即生效,畢竟.NET有自己GC收集演算法
很多書會跟你說,太過人工干預回收時機,整體效能並不好。
我其實也是有程式潔癖的人,但後來抑制住自己的控制慾,
就像機車類型,你騎速克達享受便利,卻要求它起步像排檔車迅速
又圖方便,又要切檔省油,豈不是太挑剔了??
有時候我們還是選擇相信設計者的巧思吧!!
畢竟人家在設計自動記憶體管理時,
一定都考慮到比我們更不知深幾層的地方
選擇相信他們吧...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.166.114.125
※ 編輯: tomex 來自: 118.166.114.125 (10/01 22:49)
→
10/01 22:53, , 1F
10/01 22:53, 1F
→
10/01 22:54, , 2F
10/01 22:54, 2F
推
10/01 23:35, , 3F
10/01 23:35, 3F
→
10/01 23:37, , 4F
10/01 23:37, 4F
→
10/02 00:20, , 5F
10/02 00:20, 5F
→
10/02 00:21, , 6F
10/02 00:21, 6F
→
10/02 00:23, , 7F
10/02 00:23, 7F
推
10/02 00:35, , 8F
10/02 00:35, 8F
→
10/02 00:36, , 9F
10/02 00:36, 9F
→
10/02 00:37, , 10F
10/02 00:37, 10F
→
10/02 00:37, , 11F
10/02 00:37, 11F
→
10/06 14:30, , 12F
10/06 14:30, 12F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 4 之 6 篇):
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章