偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

.NET Framework回收內(nèi)存操作細(xì)節(jié)披露

開發(fā) 后端
.NET Framework回收內(nèi)存的操作將會在這篇文章中通過一段代碼進(jìn)行詳細(xì)的解讀。實(shí)踐之后我們會發(fā)現(xiàn)這一操作步驟將會給編程帶來非常大的好處。

.NET Framework中實(shí)際上有很多應(yīng)用技巧需要我們在具體操作中去慢慢發(fā)現(xiàn),從而掌握這些提高開發(fā)效率的應(yīng)用技巧?;?NET Framework 的Windows應(yīng)用程序,你會發(fā)現(xiàn)你對程序的操作越多,占用的內(nèi)存會不斷向上飆升,即使你結(jié)束了長時(shí)間運(yùn)行的操作.這種情況對于一個(gè)非常小的應(yīng)用都是這樣.#t#

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

 

  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回收內(nèi)存調(diào)用的時(shí)機(jī):

1. 主界面上做一個(gè)計(jì)時(shí)器,每間隔一定的時(shí)間進(jìn)行調(diào)用,但鄙人認(rèn)為這種效果并不好。在你進(jìn)行長時(shí)間運(yùn)行的操作之前。需要禁止它。

2.每完成一個(gè)大的操作或者比較消耗內(nèi)存的操作之后,調(diào)用。

本人做了一個(gè).NET Framework回收內(nèi)存的測試,以前幾時(shí)兆的內(nèi)存飆升,現(xiàn)在總的消耗的內(nèi)存都在幾兆到30兆之間了.

責(zé)任編輯:曹凱 來源: 博客園
相關(guān)推薦

2010-01-06 10:07:35

.NET Framew

2009-09-18 09:14:49

SharePoint細(xì)

2009-08-26 14:52:19

.NET Framew

2023-03-06 07:50:19

內(nèi)存回收Go

2013-07-24 09:15:18

SAP HANA內(nèi)存數(shù)據(jù)庫

2010-01-06 17:02:28

.Net Framew

2010-01-05 17:59:54

.NET Framew

2010-08-25 09:18:13

AMDBulldozer服務(wù)器芯片

2010-01-06 19:38:16

.NET Framew

2009-09-02 09:23:26

.NET內(nèi)存管理機(jī)制

2010-01-05 15:43:13

.NET Framew

2010-01-06 15:43:22

.Net Framew

2010-03-05 14:50:08

Python調(diào)用.ne

2011-08-18 09:16:54

OpenFlow協(xié)議控制器

2013-10-11 17:32:18

Linux運(yùn)維內(nèi)存管理

2010-01-05 11:26:27

.net Framew

2012-08-13 10:19:03

IBMdW

2010-01-06 11:30:22

.NET Framew

2015-03-17 11:19:22

2010-01-06 10:23:47

.NET Framew
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號