即興的靈感

          思維是一種藝術(shù); 藝術(shù)需要靈感。

          博客好友

          最新評(píng)論

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

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

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

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

          評(píng)論

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

          str.length==0改正下 應(yīng)該為 str.length()  回復(fù)  更多評(píng)論   

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

          看不懂滴詩(shī)歌  回復(fù)  更多評(píng)論   

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

          經(jīng)驗(yàn)之談  回復(fù)  更多評(píng)論   

          主站蜘蛛池模板: 太保市| 华宁县| 乌兰县| 江陵县| 石泉县| 和田市| 岳池县| 抚顺县| 十堰市| 仙居县| 那曲县| 吉林省| 湘潭县| 临武县| 县级市| 厦门市| 乳山市| 永州市| 永春县| 山东| 河津市| 花莲县| 福贡县| 康平县| 龙岩市| 福海县| 剑阁县| 兴宁市| 洛扎县| 浠水县| 海兴县| 志丹县| 新野县| 含山县| 行唐县| 平度市| 陆川县| 宁津县| 沂源县| 高安市| 即墨市|