国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

VisualBasic代碼優化的六條軍規

2019-11-18 17:31:07
字體:
來源:轉載
供稿:網友
在優化程序代碼大小的諸多技術中,大多包括從代碼中刪除不必要的元素。在編譯應用程序時,VisualBasic自動刪除某些元素。而標識符名稱、注釋、空行的長度或數量是無須限制的,當應用程序作為一個.EXE文件運行時,以上這些元素都不會影響應用程序所占內存的大小。其他元素,如變量、窗體和過程,確實要占據內存的一部分空間。最好將它們精簡以使效率更高。下面介紹6種方法可用于縮小應用程序所需內存和減少代碼大小,希望能對初學者有所幫助。
1、減少加載窗體、控件數目和用標簽代替文本框

  每一個加載的窗體,無論可視與否,都要占據一定數量的內存(其數量隨窗體上控件的類型和數量,以及窗體上位圖的大小等的不同而變化)。只在需要顯示時才加載窗體,不再需要時卸載窗體(而不是隱藏窗體)。記住,任何對窗體的屬性、方法或控件的引用,或對用New聲明的窗體變量的引用,都會導致VisualBasic加載該窗體。

  使用Unload方法卸載窗體時,只能釋放部分窗體所占空間。要釋放所有空間,可用關鍵字Nothing使窗體的引用無效:

->SetForm=Nothing->

  當設計應用程序時,窗體應盡量少用控件。實際的限制取決于控件的類型和系統,但實際上,含有大量控件的窗體將運行緩慢。一項與之相關的技術是:設計時盡可能地使用控件數組,而不是在窗體上放置大量同類型的控件。控件數組是一組具有共同名稱和類型的控件。它們的事件過程也相同。在設計時,使用控件數組添加控件所消耗的資源比直接向窗體添加多個相同類型的控件消耗的資源要少。當希望若干控件共享代碼時,控件數組也很有用。標簽控件Label占用的Windows資源比文本框Textbox少,因此在可能的情況下,應使用標簽代替文本框。例如,當窗體上需要一個隱藏的控件保存文本時,使用標簽更有效。

2、使用磁盤文件或資源和組織模塊

  在設計時,直接放入應用程序的數據(象屬性或代碼中的文字字符串和數值)將增加運行時應用程序占用的內存。運行時從磁盤文件或資源中加載數據可減少占用內存。這對大位圖和字符串特別有價值。資源文件實際上是由一系列獨立的字符串、位圖或者其他項目組成的,其中每一項都有一個唯一的標識符。可以使用類似于在MicrosoftVisualC 中提供的文本編輯器和資源編譯器創建資源文件。編譯過的資源文件帶有.res擴展名。

  VisualBasic只在需要時才加載模塊即當代碼調用模塊中的一個過程時,模塊才被加載到內存。如果從未調用一特定模塊中的過程,VisualBasic決不加載該模塊。因此,盡量把相關的過程放在同一模塊中,讓VisualBasic只在需要時才加載模塊。
3、考慮替換Variant數據類型

  Variant數據類型使用極其靈活,但是比其他數據類型所占內存大。當要壓縮應用程序多余的空間時,應考慮用其他數據類型替代Variant變量,特別是替代Variant變量數組。

  每一個Variant占用16個字節,而Integer占2個字節,Double占8個字節。變長字符串變量占用4個字節加上字符串中每一個字符占用1個字節,但是,每一個包含字符串的Variant都要占用16個字節加上字符串中每一個字符占用1個字節。因為它們太大,因此在用作局部變量或過程的參數時,Variant變量是特別煩人的,這是因為它們消耗堆棧空間太快。但在有些情況下,使用其他數據類型替代Variant,靈活性降低了,為彌補損失的靈活性,不得不增加更多的代碼。結果是大小沒有真正的減小。

4、使用動態數組并在刪除時回收內存

  使用動態數組代替固定數組。當不再需要動態數組的數據時,用Erase或ReDim


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 遂宁市| 尤溪县| 阿图什市| 堆龙德庆县| 晋州市| 上思县| 滨海县| 荥经县| 武乡县| 汕头市| 上蔡县| 体育| 太保市| 沛县| 苏尼特右旗| 长乐市| 西丰县| 馆陶县| 鹿泉市| 新乡市| 武汉市| 崇文区| 黔西县| 临泉县| 赣榆县| 高雄县| 临江市| 东明县| 威信县| 贡山| 宿迁市| 宝山区| 锦州市| 奉新县| 汤阴县| 临漳县| 兰考县| 崇信县| 常熟市| 镇平县| 云林县|