我很開心創建我自己的壁紙更換器程序。我知道互聯網上有很多,但我只是想學習新東西。所以,直到現在,每次我創建任何簡單的程序時,我都不在乎RAM/Memory,因爲我主要爲學校創建程序,這就像是一次性使用程序,然後我忘了它。釋放內存變量
但現在我正在嘗試創建應用程序,我想使用,我的東西。我注意到我的程序在「alt + ctrl + del」窗口中需要約4000k,當它改變壁紙時有時高達20萬k,有時會下降,有時會保持這個高度,直到它改變到另一個。
所以在這裏談到的問題,有什麼祕訣,讓我的應用程序使用盡可能少的RAM,同時運行(任務欄圖標,主窗口是使用if (FormWindowState.Minimized == WindowState) Hide();
隱藏)
正在採取任何內存在函數內部變量?示例
int function(int a){
int b = 0;
int c = a+b;
return c;
}
或者這些變量在函數返回某個值後發佈嗎?
我可以使用一些提示,指南,和/或文章的鏈接,我可以得到一些有關信息。新手友好壽。
編輯: 好吧,我已經讀了一些,開始處理位圖,擺脫了我使用的全局變量之一..現在它穩定在4000-7000k。在更換壁紙時稍微提高一點,然後再降低一點。所以我想這對我來說是成功的。還有一件事還剩下。我下載了一個大/大/有很多選項的程序,這改變了壁紙,並且獲得了比我更多的選項,而且它仍然需要大約1000-2000k,所以ima現在閱讀什麼可以採取如此「多」ram在我的。正確的時候,我運行我的程序約4100,所以我想我仍然可以做一些優化。謝謝大家的答案! :)
當方法返回時解壓堆棧時,堆棧上局部變量的內存空間將被回收,此時堆上局部變量的引用將有資格進行垃圾回收。我將谷歌「C#垃圾收集管理」作爲一個起點。 – BrokenGlass
僅供參考,請不要在「Visual Studio C#」之類的東西前加上標題。這就是標籤的用途。 –
達:羅傑那。對不起,不會再這樣做。 BrokenGlass:謝謝,當然會閱讀一些關於 – Kedor