亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

.NET Framework如何實現內存回收

發布時間:2021-06-17 15:03:30 來源:億速云 閱讀:127 作者:chen 欄目:編程語言

這篇文章主要講解了“.NET Framework如何實現內存回收”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“.NET Framework如何實現內存回收”吧!

.NET Framework中實際上有很多應用技巧需要我們在具體操作中去慢慢發現,從而掌握這些提高開發效率的應用技巧。基于.NET Framework 的Windows應用程序,你會發現你對程序的操作越多,占用的內存會不斷向上飆升,即使你結束了長時間運行的操作.這種情況對于一個非常小的應用都是這樣.

這種情況一般并不是.Net 內存泄露,而是因為.Net沒有即時回收你分配的內存。下面是從一個朋友那兒搞到的一段代碼,它能夠幫助你即時實現.NET Framework回收內存的操作.

  1. public class RevokeMemory  

  2. {  

  3. public static void ReduceMemoryFootPrint()  

  4. {  

  5. int currentMinWorkingSetValue = 0;  

  6. int currentMaxWorkingSetValue = 0;  

  7. Process currentProcess = Process.
    GetCurrentProcess();  

  8. try  

  9. {  

  10. if(GetProcessWorkingSetSize(current
    Process.Handle, out currentMinWorking
    SetValue, out currentMaxWorkingSetValue))  

  11. {  

  12. currentProcess.MinWorkingSet = (IntPtr)
    currentMinWorkingSetValue;  

  13. }  

  14. }  

  15. catch(Exception err)  

  16. {  

  17. string additionalInfo = "MinWorkingSet
     value is set to: "
     + currentMinWorking
    SetValue.ToString();  

  18. additionalInfo += " Process In Error: 
    " + currentProcess.ProcessName;  

  19. //Log error message  

  20. }  

  21. }  

  22. [DllImport("kernel32.dll")]  

  23. public static extern bool GetProcess
    WorkingSetSize( IntPtr proc, out int 
    min, out int max );  

  24. [DllImport("kernel32.dll")]  

  25. public static extern bool SetProcess
    WorkingSetSize( IntPtr proc, int min, int max );  

.NET Framework回收內存調用的時機:

1. 主界面上做一個計時器,每間隔一定的時間進行調用,但鄙人認為這種效果并不好。在你進行長時間運行的操作之前。需要禁止它。

2.每完成一個大的操作或者比較消耗內存的操作之后,調用。

感謝各位的閱讀,以上就是“.NET Framework如何實現內存回收”的內容了,經過本文的學習后,相信大家對.NET Framework如何實現內存回收這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

顺昌县| 临湘市| 安福县| 沙坪坝区| 聂拉木县| 顺昌县| 察隅县| 德州市| 平罗县| 茌平县| 格尔木市| 额尔古纳市| 明光市| 南澳县| 青海省| 长兴县| 东阿县| 巩义市| 上高县| 宁陵县| 上思县| 珠海市| 新龙县| 新密市| 额尔古纳市| 大余县| 延寿县| 玛纳斯县| 崇州市| 开封市| 新巴尔虎左旗| 肇东市| 合江县| 新民市| 阳新县| 额敏县| 莱州市| 云龙县| 额尔古纳市| 禄丰县| 沙田区|