成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

VB.NET內存占用解決方法介紹

開發 后端
通過不斷的實踐,積累下來的經驗告訴我們,VB.NET內存占用這一問題可以用兩種方法來解決。那么在這里將會對這兩種方法進行一個詳細的介紹。

VB.NET為我們帶來了許多新的應用方式和代碼編寫方式,在一定程度上大大提高了編程人員的編程效率。而且其應用方式多樣化,靈活性等特點大大吸引著開發人員。我們今天將會為大家介紹VB.NET內存占用的相關解決方法,幫助大家解決一些實際開發中的問題。

VB.NET內存占用方法一:將窗體隱藏或者最小化啟動(這個方面是大家根據經驗得出來的)

下列VB.NET 2005代碼片斷通過窗體變量m_IsHide來控制是否將窗體最小化并隱藏,初始化為True。

為了運行下列代碼,還需要一個NotifyIcon及一個與之關聯的ContextMenuStrip,后者包含mnuShow和mnuHide菜單兩枚。

 

 

  1. Private m_IsHide As Boolean = True 
  2. Private Sub frmMain_Activated() Sub 
    frmMain_Activated(ByVal sender As 
    Object, ByVal e As System.EventArgs) 
    Handles Me.Activated  
  3. If m_IsHide Then  
  4. Me.WindowState = FormWindowState.
    Minimized  
  5. Me.Hide()  
  6. Else  
  7. Me.WindowState = FormWindowState.
    Normal  
  8. Me.Show()  
  9. End If  
  10. End Sub  
  11. Private Sub frmMain_Resize() Sub 
    frmMain_Resize(ByVal sender As Object, 
    ByVal e As System.EventArgs) 
    Handles Me.Resize  
  12. If Me.WindowState = FormWindowState.
    Minimized Then  
  13. m_IsHide = True 
  14. Me.Hide()  
  15. End If  
  16. End Sub  
  17. Private Sub mnuShow_Click() Sub 
    mnuShow_Click(ByVal sender As 
    System.Object, ByVal e As System.
    EventArgs) Handles mnuShow.Click  
  18. m_IsHide = False 
  19. Me.WindowState = FormWindowState.Normal  
  20. Me.Show()  
  21. End Sub  
  22. Private Sub mnuHide_Click() Sub 
    mnuHide_Click(ByVal sender As System.
    Object, ByVal e As System.EventArgs) 
    Handles mnuHide.Click  
  23. m_IsHide = True 
  24. Me.WindowState = FormWindowState.Minimized  
  25. Me.Hide()  
  26. End Sub 

上述代碼的功能是:#t#

1、 啟動時最小化并隱藏

2、 點擊mnuHide窗體隱藏

3、 點擊mnuShow窗體恢復

4、 最小化時窗體隱藏

一句話,其實就是編程使窗體啟動時最小化。

VB.NET內存占用方法二:Windows將程序占用的內存倒入虛擬內存可以造成小內存占用的假象。

樂天居上有篇文章“將物理內存的占用挪到虛擬內存里-----揭密篇 ”對此有完整的介紹:“而是操作系統本身就有這個機制,即當程序不使用時(最小化),操作系統會調用某些命令,來將該程序占用的內存移至虛擬內存,只保留一小部分常規代碼”

 

  1. BOOL SetProcessWorkingSetSize(  
  2. HANDLE hProcess,  
  3. SIZE_T dwMinimumWorkingSetSize,  
  4. SIZE_T dwMaximumWorkingSetSize  
  5. ); 

 

“將 2個 SIZE_T 參數設置為 -1 ,即可以使進程使用的內存交換到虛擬內存,只保留一小部分代碼。

事實上,使用該函數并不能提高什么性能,也不會真的節省內存。因為他只是暫時的將應用程序占用的內存移至虛擬內存,一旦,應用程序被激活或者有操作請求時,這些內存又會被重新占用。如果你強制使用該方法來 設置程序占用的內存,那么可能在一定程度上反而會降低系統性能,因為系統需要頻繁的進行內存和硬盤間的頁面交換。”

給出我在vb2005中的使用范例:

 

  1. Imports System.Runtime.InteropServices  
  2. Module modMain Module modMain  
  3. < DllImport("kernel32.dll")> _  
  4. Public Function SetProcessWorkingSetSize() 
    Function SetProcessWorkingSetSize( _  
  5. ByVal hProcess As Integer, _  
  6. ByVal dwMinimumWorkingSetSize As Integer, _  
  7. ByVal dwMaximumWorkingSetSize As Integer) _  
  8. As Integer  
  9. End Function  
  10. < DllImport("kernel32.dll")> _  
  11. Public Function GetCurrentProcess() 
    Function GetCurrentProcess() As Integer  
  12. End Function  
  13. Public Sub ReduceMem() Sub ReduceMem()  
  14. SetProcessWorkingSetSize(GetCurrentProcess, -1, -1)  
  15. End Sub  
  16. End Module  

使用ReduceMem()函數的效果很贊,但是不建議經常用,我只是在FormLoad時用一下,效果就很好了。

值得一提的是,如果不使用GetCurrentProcess()函數得到當前Process,而是使用Process.GetCurrentProcess(),則無法有效縮減使用內存。

以上就是我們為大家帶來的VB.NET內存占用的具體解決方案。

責任編輯:曹凱 來源: wewill.cn
相關推薦

2010-01-18 17:15:20

VB.NET參數類型不

2010-01-22 10:41:33

VB.NET聲明結構

2009-11-10 12:42:47

VB.NET Prin

2010-01-07 15:25:11

VB.NET數組

2009-10-29 10:04:57

VB.NET Read

2010-01-08 13:35:35

VB.NET寫Log方

2010-01-15 18:12:28

VB.NET超鏈接

2010-01-15 19:17:23

2010-01-21 17:58:40

VB.NET List

2009-10-28 09:55:29

VB.NET MyCl

2010-01-07 18:17:00

VB.NET連接SAP

2010-01-15 10:56:50

VB.NET繼承實現多

2010-01-08 14:22:00

VB.NET精度問題

2010-01-07 16:51:56

VB.NET窗體鉤子

2010-01-20 17:47:54

VB.NET注釋

2010-01-18 14:35:11

VB.NET讀取內存

2009-10-12 13:19:14

VB.NET線程同步

2010-01-08 14:14:27

VB.NET使用Fin

2010-01-18 17:09:52

VB.NET創建虛擬目

2010-01-15 15:26:46

VB.NET自定義類型
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品视频一区二区三区四区 | 亚洲欧美激情网 | 午夜网| 亚洲国产精品一区二区三区 | 精品av天堂毛片久久久借种 | 欧美日韩一区精品 | 91在线视频网址 | 蜜桃官网 | 国产一区二区在线播放视频 | 亚洲一区二区免费看 | 亚洲一区二区在线播放 | 中文字幕av一区 | 天天看天天操 | 黄色成人国产 | 国产欧美一级 | 美女一级毛片 | 91在线视频免费观看 | 91免费观看| 黄色成人国产 | 99精品视频一区二区三区 | 一区二区在线免费观看 | 国产亚洲精品综合一区 | 欧美激情欧美激情在线五月 | 日批日韩在线观看 | 我我色综合 | 日韩免费| 做a网站 | 国产精品久久久久久久久免费软件 | 99久久婷婷国产亚洲终合精品 | 国产成人福利视频 | 成人超碰 | 黄免费在线 | 男人久久天堂 | 亚洲一区二区久久 | 亚洲欧美日韩网站 | 国产精品大片 | 中文字幕综合 | 成年人在线视频 | 久久久久久久亚洲精品 | 日韩a在线| 久久亚洲欧美日韩精品专区 |