作者pat0307 (pat)
看板C_Sharp
標題[問題] 想請問釋放資源的問題
時間Sat Oct 25 03:13:29 2008
請教一下各位大大,
以下是我每次發布一個新資料就會重新讀一次showmap4()
private void showmap4()
{
PictureBox[] pics2 = new PictureBox[100];
ContextMenu[] enrolls2 = new ContextMenu[100];
MenuItem[] names2 = new MenuItem[100];
for (int i = 0; i < a; i++)
{
pics2[i] = new PictureBox();
enrolls2[i] = new ContextMenu();
names2[i] = new MenuItem();
}
}
想請問一下若每次重新讀一次pics2、enrolls2、names2需要釋放掉嗎?
因為我發現每次發布完我這支程式所佔的記憶體會逐漸增加,因為是用在PDA
,所以發布太多次訊息後,發現會overload導致程式錯誤,請問該如何釋放掉資源?
謝謝各位大大了><
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.139.209.114
推 ilovebbs:C#的是GC.Collect()的樣子 不過.NET會自己回收 只不過不 10/25 09:01
→ ilovebbs:快就是 10/25 09:01
推 ithinkurdumb:手動用gc要小心適得其反 10/25 12:38
推 deuter:有用到Image 就最好用 Dispose 釋放掉 10/26 02:03
→ pat0307:請問GC.Collect()要寫在哪裡,寫一個就好了嗎? 10/27 01:59
推 deuter:GC.Collect不要亂用, 你的情況大概是因為沒有 Dispose() 10/27 14:41