銷毀對象
無論編寫的是什么軟件,程序員都需要考慮在用戶決定終止軟件運(yùn)行后釋放軟件占用的內(nèi)存空間。但遺憾的是很多程序員對這一點(diǎn)好像并不是很在意。正確的做法是在退出程序前需要銷毀程序中使用的對象。例如:
Dim FSO as New FileSystemObject
' 執(zhí)行操作
' 銷毀對象
Set FSO = Nothing
對于窗體,可以進(jìn)行卸載:
Unload frmMain
或
Set frmMain = Nothing
變長和定長字符串
從技術(shù)上來說,與變長字符串相比,定長字符串需要較少的處理時(shí)間和空間。但是定長字符串的缺點(diǎn)在于在很多情況下,你都需要調(diào)用Trim函數(shù)以去除字符串末的空字符,這樣反而會(huì)降低代碼效率。所以除非是字符串的長度不會(huì)變化,否則還是使用變長字符串。
使用類模塊,而不是ActiveX控件
除非ActiveX控件涉及到用戶界面,否則盡量使用輕量的對象,例如類。這兩者之間的效率有很大差異。
使用內(nèi)部對象
在涉及到使用ActiveX控件和DLL的時(shí)候,很多程序員喜歡將它們編譯好,然后再加入工程中。我建議你最好不要這樣做,因?yàn)閺腣B連接到一個(gè)外部對象需要耗費(fèi)大量的CPU處理能力。每當(dāng)你調(diào)用方法或存取屬性的時(shí)候,都會(huì)浪費(fèi)大量的系統(tǒng)資源。如果你有ActiveX控件或DLL的源代碼,將它們作為工程的私有對象。
減少模塊的數(shù)量
有些人喜歡將通用的函數(shù)保存在模塊中,對于這一點(diǎn)我表示贊同。但是在一個(gè)模塊中只寫上二三十行代碼就有些可笑了。如果你不是非常需要模塊,盡量不要使用它。這樣做的原因是因?yàn)橹挥性谀K中的函數(shù)或變量被調(diào)用時(shí),VB才將模塊加載到內(nèi)存中;當(dāng)VB應(yīng)用程序退出時(shí),才會(huì)從內(nèi)存中卸載這些模塊。如果代碼中只有一個(gè)模塊,VB就只會(huì)進(jìn)行一次加載操作,這樣代碼的效率就得到了提高;反之如果代碼中有多個(gè)模塊,VB會(huì)進(jìn)行多次加載操作,代碼的效率會(huì)降低。
使用對象數(shù)組
當(dāng)設(shè)計(jì)用戶界面時(shí),對于同樣類型的控件,程序員應(yīng)該盡量使用對象數(shù)組。你可以做一個(gè)實(shí)驗(yàn):在窗口上添加100個(gè)PictureBox,每個(gè)PictureBox都有不同的名稱,運(yùn)行程序。然后創(chuàng)建一個(gè)新的工程,同樣在窗口上添加100個(gè)PictureBox,不過這一次使用對象數(shù)組,運(yùn)行程序,你可以注意到兩個(gè)程序加載時(shí)間上的差別。
使用Move方法
在改變對象的位置時(shí),有些程序員喜歡使用Width,Height,Top和Left屬性。例如:
Image1.Width = 100
Image1.Height = 100
Image1.Top = 0
Image1.Left = 0
實(shí)際上這樣做效率很低,因?yàn)槌绦蛐薷牧怂膫(gè)屬性,而且每次修改之后,窗口都會(huì)被重繪。正確的做法是使用Move方法:
希望與更多計(jì)算機(jī)等級考試的網(wǎng)友交流,請進(jìn)入計(jì)算機(jī)等級考試論壇
更多信息請?jiān)L問:考試吧計(jì)算機(jī)等級考試欄目
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |