vb.net釋放內(nèi)存的簡單介紹

vb.net wmp控件如何釋放內(nèi)存,無法刪除正在播放的文件

vb.net有垃圾回收機制,一般不用自己清理內(nèi)存,對象用完后用dispose方法釋放就行了,文件打開狀態(tài)當然無法刪除.

成都地區(qū)優(yōu)秀IDC服務(wù)器托管提供商(成都創(chuàng)新互聯(lián)公司).為客戶提供專業(yè)的簡陽服務(wù)器托管,四川各地服務(wù)器托管,簡陽服務(wù)器托管、多線服務(wù)器托管.托管咨詢專線:18982081108

vb.net 徹底釋放內(nèi)存

我都不敢認你這玩意了,不知是不是要把我2GB的內(nèi)存變成1GB的,還是說把占用空間清理一些?如果是這樣的話,那也真的是有點可怕,萬一把正在使用的變量給清了,會不會出錯?或者弄得程序發(fā)神經(jīng),亂搞了?

VB.NET程序如何巧妙釋放內(nèi)存

set xxx=nothing就是把對象占用的空間釋放掉。 其他的局部變量都在棧內(nèi)存,用完會自動釋放的

我用VB.NET編了個程序,在加在一些數(shù)據(jù)是,會占用很多系統(tǒng)資源

可以將文件等分成兩部分,分別用兩個private讀取就是2線程。

內(nèi)存解決方案:不要等程序自動GC,自己手動釋放不需要內(nèi)存。

缺陷:可能會浪費時間。

VB.net2000的自動垃圾回收機制到底管用么???????!!!!

分類: 電腦/網(wǎng)絡(luò) 程序設(shè)計 其他編程語言

問題描述:

別跟我說VB2000自動釋放內(nèi)存,曾經(jīng)深信這句話的我,如今已是傷痕累累,好幾個大項目都差點毀在vb的內(nèi)存問題上,C#我倒不知道..VB的回收內(nèi)存速度太慢了,這只是保守的說,其實本人認為它根本不會回收內(nèi)存.就算全部用上gc.collet也回收不了,而且越用越慢

在使用我的項目的時候,隨著窗口的開開關(guān)關(guān)\控件的調(diào)用,內(nèi)存一直飆,從14MB左右一路瘋狂飆高,40分鐘系統(tǒng)就崩潰了...上了補丁的XP可以不死機,但就定著不動了..如果虛擬內(nèi)存文件大,可以維持到撐滿,但錄一條記錄平均要等一個小時!!!!!!!,后來我學乖了開始nothing全局變量(工作量驚人...),結(jié)果內(nèi)存開始有下走的現(xiàn)象(原來是一路向上..只占不放)但內(nèi)存還是呈曲線上飆,40分鐘到200多MB,于是我開始釋放局部變量,在每個方法中都要釋放!!!!!!!!!!!!!!!!!!!!!,而且還要區(qū)分哪些是引用!痛苦啊!!!

...結(jié)果三個月之后,滿面憔悴的我終于發(fā)現(xiàn)內(nèi)存接近正常了,雖然還不是釋放的很干凈,但能保證在一段時間內(nèi)不會崩潰了..至少客戶做的時候沒再提過意見...我并沒有優(yōu)化什么代碼,只是痛苦的釋放了一些全局和局部變量,結(jié)果內(nèi)存就不消耗的那么厲害了,你說奇怪不奇怪..但內(nèi)存始終不是釋放的那么干凈,我算過了一分鐘內(nèi)曲線飆高2MB左右,有時更多照這樣一來,真是早死不如晚死,想想將來還不如用java重新做呢...各位可憐可憐我吧,有什么好主意整理vb2000的內(nèi)存的好東東,就告訴我吧!!!!!!!!!!我真的受不了了!!!!!有沒有什么方法可以重新分配內(nèi)存呢,就算會造成頁中斷我也在所不惜!!!!

另外Me.Refresh()是什么意義,能釋放內(nèi)存么?

解析:

很簡單,你沒有正確理解VB的內(nèi)存自動回收機制,仔細看一下MSDN,好好研究一下相關(guān)的內(nèi)容。其實JAVA的內(nèi)存自動回收機制與VB是類似的,如果你用VB.NET做不好,換用JAVA照樣做不好。

其實,你已經(jīng)發(fā)現(xiàn)了為什么內(nèi)存不能回收,只是你沒意識到罷了。

為什么要用全局變量呢?給你舉個極端的例子吧:建立一個全局的Hashtable,然后將程序中創(chuàng)建的每一個對象實例加入到這個hashtable中,那么你將看到內(nèi)存一直猛增,直到崩潰。

正確的作法是:

1、盡量不用、少用全局變量和靜態(tài)變量

2、如果沒有必要,就不要把對象實例加到全局或靜態(tài)的Hashtable、ArrayList之類的 *** 中去,除非你是想自己建立一個對象緩沖池

3、如果你自己要建立對象緩沖池,就一定要注意對象的清理,盡早將不用的對象從池中刪除

4、找本好一點的數(shù)據(jù)結(jié)構(gòu),仔細學學其中關(guān)于自動內(nèi)存回收的那幾種機制,以后在程序中不要違反它們的要求前提條件。

跪求大神指點vb.net 怎么釋放變量在內(nèi)存中的殘留地址值呀

.net 有自己的資源回收機制GC。

如果變量不再使用了,所有引用該變量的其它變量也都沒用了(dispose或者賦值為空了),那么這些沒用的變量會定時的被GC自動回收,不需要自己去管理。

如果非要自己釋放資源的話,可以使用 GC.Collect() 進行釋放,但是并不能保證一次GC.Collect()就可以釋放掉所有沒有用的資源,可能要經(jīng)過好幾輪GC.Collect()才能釋放干凈。

所以還是建議不要手動回收了,讓系統(tǒng)根據(jù)要求自動回收吧。

分享標題:vb.net釋放內(nèi)存的簡單介紹
分享路徑:http://muchs.cn/article26/hgedjg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計公司商城網(wǎng)站、ChatGPT、網(wǎng)站設(shè)計、云服務(wù)器、移動網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名