即興的靈感

          思維是一種藝術; 藝術需要靈感。

          博客好友

          最新評論

          J2ME手機開發(fā)之內(nèi)存優(yōu)化攻略(續(xù))

          ???????嚴正聲明:本文出自即興詩人blogjava博客,如轉載必須與作者聯(lián)系improviser@163.com!??????
          ???????在上一篇中小總結了下J2ME手機開發(fā)中的內(nèi)存優(yōu)化的一些內(nèi)容,本文繼續(xù)總結下在J2ME開發(fā)過程中的一些細節(jié)優(yōu)化處理。優(yōu)化的作用就是提高代碼的執(zhí)行效率,降低運行時的內(nèi)存消耗,更好的適應各類內(nèi)存類型的大小跟配置,以下內(nèi)容將專門敘述有關代碼優(yōu)化的細節(jié)。
          ??????A、除法運算優(yōu)化
          ??????在除法運算過程中使用移位操作比直接使用"/"更具效率,如(a+b)/2優(yōu)化后的代碼為(a+b)>>1。
          ??????B、變量局部化
          ??????在聲明變量時候,盡量使用局部變量去替代全局變量,局部變量的賦值性能高于全局變量,如下代碼:
          ??????int sum;
          ??????public void add(){
          ????????????for(int i=0;i<100;i++)
          ????????????sum += i;
          ??????}
          ??????優(yōu)化后代碼為:
          ??????int sum;
          ??????public void add(){
          ????????????int temp = sum;
          ????????????for(int i=0;i<100;i++)
          ????????????temp += i;
          ????????????sum = temp;
          ??????}
          ??????C、多選擇switch
          ??????在多選擇情況下,使用switch進行判斷而少用if-else來做判斷,不但提高性能,而且提高代碼可讀性。
          ??????D、字符串聲明
          ??????在字符串聲明中,使用直接賦值比創(chuàng)建字符串對象好,比如String str = "test"; 比String str = new String("test");更節(jié)省內(nèi)存,因為new本身創(chuàng)建了另一個字符串對象,從而增加了內(nèi)存開銷。
          ??????E、字符串判空
          ??????在判斷一個字符串是否為空情況下,使用判斷字符串長度是否為零,而不使用與""做比較,如使用str.length==0而不使用str.euqals("")。
          ??????F、StringBuffer對象
          ??????在使用StringBuffer中,如果操作一個字符,使用'',而不使用"",如'a',而不是"a"。
          ??????G、異常處理優(yōu)化
          ??????在異常捕獲處理代碼中,可以使用對異常發(fā)生的情況先進行判斷,并執(zhí)行當異常情況請有效代碼來替代try-catch的異常處理。如下代碼:
          ????? try{
          ????????????a.do();
          ??????}catch(NullPointerException ex){
          ????????????//異常處理代碼
          ??????}
          ??????優(yōu)化為:
          ??????if(a==null)
          ??????{
          ?????????????ruturn;??
          ???????}else
          ???????{
          ?????????????a.do();
          ????????}
          ??????H、內(nèi)部類
          ??????使用內(nèi)部類在某些時候帶來一定好處,但是使用內(nèi)部類會消耗更多的內(nèi)存,因此盡量少使用內(nèi)部類。
          ??????I、程序暫停與開始
          ??????在程序暫停pauseApp時候讓無用的資源釋放,而在開始startApp的時候獲取資源,在程序停止destoryApp的時候釋放所有資源。
          ????? 嚴正聲明:本文出自即興詩人blogjava博客,如轉載必須與作者聯(lián)系improviser@163.com!

          ?
          鳳凰涅槃/浴火重生/馬不停蹄/只爭朝夕
          ???? 隱姓埋名/低調(diào)華麗/簡單生活/完美人生

          posted on 2009-03-02 01:57 poetguo 閱讀(1853) 評論(3)  編輯  收藏 所屬分類: J2ME

          評論

          # re: J2ME手機開發(fā)之內(nèi)存優(yōu)化攻略(續(xù)) 2009-03-04 21:00 即興詩人

          str.length==0改正下 應該為 str.length()  回復  更多評論   

          # re: J2ME手機開發(fā)之內(nèi)存優(yōu)化攻略(續(xù)) 2009-03-06 21:54 拓海劉

          看不懂滴詩歌  回復  更多評論   

          # re: J2ME手機開發(fā)之內(nèi)存優(yōu)化攻略(續(xù)) 2009-03-07 09:29 44you

          經(jīng)驗之談  回復  更多評論   

          主站蜘蛛池模板: 平远县| 崇礼县| 富裕县| 加查县| 兖州市| 宿迁市| 平阴县| 青川县| 八宿县| 弥渡县| 巩留县| 岐山县| 资阳市| 巴青县| 上林县| 博爱县| 郯城县| 武强县| 沛县| 米脂县| 黄陵县| 舞钢市| 商南县| 南岸区| 吕梁市| 江永县| 南郑县| 保德县| 离岛区| 长兴县| 五华县| 南木林县| 平湖市| 德安县| 个旧市| 彰化县| 潞城市| 芷江| 河津市| 榆社县| 普洱|