![《J2ME移動軟件程序設(shè)計》課件第7章_第1頁](http://file4.renrendoc.com/view11/M00/31/2A/wKhkGWV5qVCAKZ0SAAGPUgtNYfU693.jpg)
![《J2ME移動軟件程序設(shè)計》課件第7章_第2頁](http://file4.renrendoc.com/view11/M00/31/2A/wKhkGWV5qVCAKZ0SAAGPUgtNYfU6932.jpg)
![《J2ME移動軟件程序設(shè)計》課件第7章_第3頁](http://file4.renrendoc.com/view11/M00/31/2A/wKhkGWV5qVCAKZ0SAAGPUgtNYfU6933.jpg)
![《J2ME移動軟件程序設(shè)計》課件第7章_第4頁](http://file4.renrendoc.com/view11/M00/31/2A/wKhkGWV5qVCAKZ0SAAGPUgtNYfU6934.jpg)
![《J2ME移動軟件程序設(shè)計》課件第7章_第5頁](http://file4.renrendoc.com/view11/M00/31/2A/wKhkGWV5qVCAKZ0SAAGPUgtNYfU6935.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
知識點:代碼優(yōu)化的一些基準優(yōu)化內(nèi)存使用優(yōu)化代碼運行速度優(yōu)化用戶界面合理地打包應用程序J2ME的程序兼容性本章導讀:
本章主要介紹如何優(yōu)化一個J2ME程序的性能。對J2ME中字符串編程、用戶界面編程、MIDlet打包和加密等工作進行了詳細討論,并對如何提高性能給出了切實可行的方法。J2ME移動軟件程序設(shè)計7.1.1代碼優(yōu)化基準概述7.1代碼優(yōu)化的一些基準
在J2SE(Java2的標準版)中,可以提供許多工具來對代碼性能、代碼運行瓶頸、內(nèi)存使用情況等進行檢測。J2ME中不存在這些工具,需要使用一些傳統(tǒng)的方法來測試和優(yōu)化代碼。在MIDP的API中提供了幾種對測試和優(yōu)化代碼很有用的方法。J2ME移動軟件程序設(shè)計7.1.2
內(nèi)存測試基準
使用java.lang.Runtime中所提供的兩種方法
publiclongfreeMemory();給出當前有多少字節(jié)的剩余內(nèi)存可以使用。publiclongtotalmemory();給出在當前運行環(huán)境中總共的存儲器大小。J2ME移動軟件程序設(shè)計例:查明一個對象到底需要使用多少內(nèi)存(變量size中)
Runtimeruntime=Runtime.getRuntime();longbefore,after;System.gc();before=runtime.freeMemory();ObjectnewObject=newString();after=runtime.freeMemory();longsize=before-after;J2ME移動軟件程序設(shè)計7.1.3時間測試基準
采用傳統(tǒng)的方式測試運行速度longstart,finish;start=System.currentTimeMillis();someMethod();finish=System.currentTimeMillis();longduration=finish-start;
J2ME移動軟件程序設(shè)計7.2.1優(yōu)化內(nèi)存概述7.2優(yōu)化內(nèi)存使用
在J2ME環(huán)境中內(nèi)存總是稀缺的內(nèi)存分配和垃圾收集器的運行將可能使應用程序的運行速度變慢在J2ME環(huán)境中小心使用內(nèi)存
J2ME移動軟件程序設(shè)計7.2.2創(chuàng)建和刪除對象
每當創(chuàng)建一個新對象時,內(nèi)存將被重新分配,而分配內(nèi)存將花費很多時間。在一個循環(huán)體開始處創(chuàng)建的對象,有可能在循環(huán)體的尾部被釋放。這就意味著,每一次循環(huán)體的執(zhí)行就將激發(fā)系統(tǒng)運行一次垃圾收集器,這樣將導致循環(huán)體的執(zhí)行速度與垃圾收集器的運行速度差不多。解決方法:將對象的創(chuàng)建從循環(huán)體內(nèi)放在循環(huán)體外。
J2ME移動軟件程序設(shè)計7.2.3字符串和字符串緩存
使用“+”操作符連接兩個字符串時,有可能導致新的字符串對象的創(chuàng)建,而新字符串對象的創(chuàng)建又將觸發(fā)內(nèi)存管理工作解決方法:放棄使用字符串和字符串緩存,而使用字符數(shù)組。
J2ME移動軟件程序設(shè)計7.2.4正確處理內(nèi)存不足
當一個對象被創(chuàng)建時,如果發(fā)生內(nèi)存不足的錯誤,MIDlet將拋出java.lang.OutOfMemoryError異常。解決方法:使用try/catch來攔截異常,并當異常出現(xiàn)時給用戶合理的解釋。
J2ME移動軟件程序設(shè)計7.3.1優(yōu)化循環(huán)
7.3優(yōu)化代碼運行速度
一切可以在循環(huán)體外部預先計算好的值都不應該放到循環(huán)體內(nèi)部計算。例:避免在循環(huán)體中對v.size()的重復調(diào)用優(yōu)化前優(yōu)化后for(inti=0;i<v.size();i++){Objecto=v.elementAt(i);//處理對象o}intsize=v.size();for(inti=0;i<size;i++){Objecto=v.elementAt(i);//處理對象o}J2ME移動軟件程序設(shè)計7.3.2使用數(shù)組代替對象
矢量和哈希表既簡單又方便,但它們會增加大量的系統(tǒng)開銷。
數(shù)組通常比集合類運行得更快、更可靠。J2ME移動軟件程序設(shè)計7.3.3使用緩存I/O
應該盡量避免從數(shù)據(jù)流中讀寫一個字節(jié)。盡量使用帶有緩沖的流讀寫方法。BufferedReader和BufferedWriter兩個類可以提供內(nèi)置的緩沖I/O功能,但在J2ME中沒有提供這兩個類,因此如果要提高I/O效率,就應該自己設(shè)計符合要求的帶有緩沖的I/O方式。
J2ME移動軟件程序設(shè)計7.3.4主動清理內(nèi)存
一旦不再使用所用內(nèi)存,就應該立即釋放,以提高應用程序的性能。如果有數(shù)組不再使用了,設(shè)置數(shù)組指向null,使數(shù)組能被垃圾收集器收集。如果程序需要馬上進行內(nèi)存垃圾搜集工作,顯式地調(diào)用System.gc()方法來實現(xiàn)。
J2ME移動軟件程序設(shè)計7.4優(yōu)化用戶界面在臺式計算機上能很快執(zhí)行完畢的程序,在移動電話上都可能需要很長的時間才執(zhí)行完。MIDlet的界面設(shè)計必須能讓用戶感到程序在運行,而不是長時間沒有任何反應的等待。在程序執(zhí)行需要較長時間的地方加入一些進度指示器(例如標尺),這樣用戶才能夠知道程序在執(zhí)行需要大量時間的運算。在MIDlet的界面設(shè)計中,基本的準則是:簡單明了、使用快捷、響應及時和信息豐富。
J2ME移動軟件程序設(shè)計7.5合理地打包應用程序
僅僅打包使用的代碼使用代碼加密保護程序J2ME移動軟件程序設(shè)計7.6
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教版數(shù)學七年級下冊第7課時《平行線的性質(zhì)(一)》聽評課記錄
- 2025年造紙色漿合作協(xié)議書
- 湘教版數(shù)學七年級上冊《3.4一元一次方程模型的應用(1)》聽評課記錄
- 蘇人版道德與法治九年級上冊7.2《違法要受法律處罰》聽課評課記錄
- 生態(tài)保護資源共享合同(2篇)
- 環(huán)境監(jiān)測設(shè)備合作開發(fā)合同(2篇)
- 六年級上冊聽評課記錄
- (人教版)七年級下冊數(shù)學配套聽評課記錄:5.1.3 《同位角、內(nèi)錯角、同旁內(nèi)角》
- 四年級科學聽評課記錄
- 湘教版數(shù)學八年級上冊1.1《平方根》聽評課記錄
- 第一章 整式的乘除 單元測試(含答案) 2024-2025學年北師大版數(shù)學七年級下冊
- JD37-009-2024 山東省存量更新片區(qū)城市設(shè)計編制技術(shù)導則
- 春節(jié)后復工安全教育培訓考試試題及答案
- 香港地圖高清矢量可填充編輯PPT模板(精美)
- 《朝天子-詠喇叭》
- 氧化還原反應方程式的配平(八大配平技巧)-PPT課件
- 天津人社局解除勞動合同證明書
- (高清正版)JJF(浙)1090—2014薄片千分尺校準規(guī)范
- 2020年采購部年度目標計劃 采購部工作目標
- 陽光分級閱讀高一上The Emperor Penguin課件
- mil-std-1916抽樣標準(中文版)
評論
0/150
提交評論