發現乙個很奇怪的現象 關於VB程式的記憶體占用

2021-03-31 21:35:21 字數 949 閱讀 5072

我們先看看下面這個簡單的程式:

乙個form,沒有任何控制項

private sub form_load()

me.windowstate = 1

me.hide

end sub

我們把這個程式稍作修改,加入乙個timer控制項:

dim formhide as boolean

private sub hideform()

formhide = true

me.windowstate = 1

me.hide

end sub

private sub form_load()

timer1.interval = 1000

timer1.enabled = true

end sub

private sub timer1_timer()

if formhide = false then

hideform

timer1.enabled = false

end if

end sub

你認為哪個程式占用的記憶體資源少呢?

大家肯定會說是第乙個程式,因為第二個程式用了乙個timer控制項來呼叫hideform這個過程,這絕對是多此一舉。一開始我也這麼認為。

但事實上第二個程式占用的記憶體比第乙個少!不信你可以試試:

建立兩個工程project1.vbp和project2.vbp,project1裡是form1,project2裡面是form2

在form2裡面加入乙個timer控制項,然後在form1和form2中分別輸入以上**

編譯成project1.exe和project2.exe

執行這兩個程式開啟windows任務管理器,找到project1和project2比較一下

我這裡測試的結果是project1占用4096k的記憶體,而project2只占用1020k!

乙個奇怪的現象

我刪除了在windows中建立的效能收集器。隨之oracle的資料檔案就消失了。這個現象是說明了我刪除windows的效能收集器,就自帶的把oracle的資料檔案給刪除了嗎?可是我並沒有手動的刪除oracle資料檔案啊。可是只有我乙個人在這個機器上操作。程式之前跑過一遍不至於使應用程式掛掉。種種現象...

關於proxy的乙個奇怪現象

其實也不算是proxy的問題,我在上篇文章中提到的getonenet 程式,在新建的測試程式中能正常返回json資料,但是一到了我搭建好的平台上就不行了。雖然請求成功,但是卻給我個錯誤返回值。objectapi明明是寫了,一模一樣都是複製過來的,請求qq 和後台資料都沒問題,一幹正事就不行。也不知道...

乙個奇怪的語言現象

和老外msn聊天以及郵件來往比較多,發現他們有時把than拼寫成then,而有時又把then拼寫成than。今天在看fe的compiler資料的時候也發現了這個現象,終於覺得那不是偶然的情況而是比較普遍的情況了。是他們拼錯了呢還是我搞錯了?我希望什麼時候聊天遇到這種情況的時候能問一問。msn聊天的內...