成人免费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創建虛擬目

2009-10-23 17:22:48

VB.NET編程
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久躁日日躁aaaaxxxx | 成人国产精品一级毛片视频毛片 | 日韩1区| 丝袜美腿一区二区三区 | 皇色视频在线 | 欧美一区二区三区在线看 | 国产乱码久久久久久一区二区 | 欧美综合视频 | 国产高清久久久 | 黄色精品 | 国产激情一区二区三区 | 国产亚洲精品美女久久久久久久久久 | 极情综合网| 久久精品| 国产一区二区欧美 | 亚洲国产精品第一区二区 | 久久艹av| 黑人中文字幕一区二区三区 | 亚洲情综合五月天 | av在线播放一区二区 | 国产精品av久久久久久久久久 | 国产精品久久久久久52avav | 久久久久亚洲精品中文字幕 | 999精品在线观看 | 精品久久香蕉国产线看观看亚洲 | 久久久精品 | 精品久久久久久红码专区 | 精品久久久久久久 | 色站综合 | 欧美精品在线看 | 日本在线看 | 在线播放国产一区二区三区 | 精品亚洲一区二区三区四区五区 | 亚洲一区二区av在线 | 精品国产乱码一区二区三 | 精品不卡 | www精品美女久久久tv | 国产福利资源 | 黑人中文字幕一区二区三区 | 日韩在线视频精品 | 亚洲国产专区 |