j2me程序由于其特殊的運行環(huán)境限制,所以優(yōu)化就顯得比較重要,以下是在學習j2me編程所收集的一些技巧和自己的心得。
本文主要是說明j2me平臺上的特殊優(yōu)化方法,與j2se重復的一些技巧就不再贅述了。
1.顯示圖象時確定好你的fps,最好先做幾次小實驗,這樣能讓你在顯示效果和運行速度上有比較好的平衡。
2.GamaCanvas.getGraphics()每次都會產(chǎn)生一個全新的對象,但是對這些對象的操作都是對同一個graphics,所以還是只取一次供后面使用。
3.讓多個對象使用同樣的監(jiān)聽器,比如讓主MIDlet類實現(xiàn)CommandListener和ItemStateListener接口。
4.考慮使用手機開發(fā)商提供的一些sdk,沒人會比他們更了解他們手機,所以有些時候能顯著提高速度,特別是圖片,視頻使用方面。
5.使用監(jiān)視工具分析MIDlet的瓶頸,wtk和各個公司提供的開發(fā)包里都會有,可以找到程序的弱點。如果是在手機上,用timer測試你認為有可以的地方。
6.使用System.gc(),在無線程阻塞的情況下可以有效的緩解內(nèi)存壓力,但是有些公司不是太推薦使用(如nokia).sun的說法也是越低端的機子執(zhí)行的越慢,總之,慎用吧。
JAVA手機網(wǎng)[www.cnjm.net]7.用固定的數(shù)組代替使用Vector。
8.圖片的優(yōu)化。考慮使用設(shè)備的規(guī)格,可能高分辨率的圖片不一定顯示的出來。
9.不用的對象賦值為null,為更快的回收
10.用混淆器處理你的類文件,防止反編譯,還有一個好的副作用就是它減小class文件的大小,因為混淆器往往用較短的字符串代替原來的變量或方法名。
本文主要是說明j2me平臺上的特殊優(yōu)化方法,與j2se重復的一些技巧就不再贅述了。
1.顯示圖象時確定好你的fps,最好先做幾次小實驗,這樣能讓你在顯示效果和運行速度上有比較好的平衡。
2.GamaCanvas.getGraphics()每次都會產(chǎn)生一個全新的對象,但是對這些對象的操作都是對同一個graphics,所以還是只取一次供后面使用。
3.讓多個對象使用同樣的監(jiān)聽器,比如讓主MIDlet類實現(xiàn)CommandListener和ItemStateListener接口。
4.考慮使用手機開發(fā)商提供的一些sdk,沒人會比他們更了解他們手機,所以有些時候能顯著提高速度,特別是圖片,視頻使用方面。
5.使用監(jiān)視工具分析MIDlet的瓶頸,wtk和各個公司提供的開發(fā)包里都會有,可以找到程序的弱點。如果是在手機上,用timer測試你認為有可以的地方。
6.使用System.gc(),在無線程阻塞的情況下可以有效的緩解內(nèi)存壓力,但是有些公司不是太推薦使用(如nokia).sun的說法也是越低端的機子執(zhí)行的越慢,總之,慎用吧。
JAVA手機網(wǎng)[www.cnjm.net]7.用固定的數(shù)組代替使用Vector。
8.圖片的優(yōu)化。考慮使用設(shè)備的規(guī)格,可能高分辨率的圖片不一定顯示的出來。
9.不用的對象賦值為null,為更快的回收
10.用混淆器處理你的類文件,防止反編譯,還有一個好的副作用就是它減小class文件的大小,因為混淆器往往用較短的字符串代替原來的變量或方法名。