即兴的灵感

思维是一种艺术; 艺术需要灵感。

博客好友

最新评论

J2ME手机开发之内存优化攻略(续)

       严正声明:本文出自即兴诗人blogjava博客,如转载必须与作者联系improviser@163.com!      
       在上一篇中小总结了下J2ME手机开发中的内存优化的一些内容,本文继续总结下在J2ME开发过程中的一些细节优化处理。优化的作用就是提高代码的执行效率,降低运行时的内存消耗,更好的适应各类内存类型的大小跟配置,以下内容将专门叙述有关代码优化的细节。
      A、除法运算优化
      在除法运算过程中使用移位操作比直接使用"/"更具效率,如(a+b)/2优化后的代码为(a+b)>>1。
      B、变量局部化
      在声明变量时候,尽量使用局部变量去替代全局变量,局部变量的赋值性能高于全局变量,如下代码:
      int sum;
      public void add(){
            for(int i=0;i<100;i++)
            sum += i;
      }
      优化后代码为:
      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、字符串声明
      在字符串声明中,使用直接赋值比创建字符串对象好,比如String str = "test"; 比String str = new String("test");更节省内存,因为new本身创建了另一个字符串对象,从而增加了内存开销。
      E、字符串判空
      在判断一个字符串是否为空情况下,使用判断字符串长度是否为零,而不使用与""做比较,如使用str.length==0而不使用str.euqals("")。
      F、StringBuffer对象
      在使用StringBuffer中,如果操作一个字符,使用'',而不使用"",如'a',而不是"a"。
      G、异常处理优化
      在异常捕获处理代码中,可以使用对异常发生的情况先进行判断,并执行当异常情况请有效代码来替代try-catch的异常处理。如下代码:
      try{
            a.do();
      }catch(NullPointerException ex){
            //异常处理代码
      }
      优化为:
      if(a==null)
      {
             ruturn;  
       }else
       {
             a.do();
        }
      H、内部类
      使用内部类在某些时候带来一定好处,但是使用内部类会消耗更多的内存,因此尽量少使用内部类。
      I、程序暂停与开始
      在程序暂停pauseApp时候让无用的资源释放,而在开始startApp的时候获取资源,在程序停止destoryApp的时候释放所有资源。
      严正声明:本文出自即兴诗人blogjava博客,如转载必须与作者联系improviser@163.com

 
凤凰涅槃/浴火重生/马不停蹄/只争朝夕
     隐姓埋名/低调华丽/简单生活/完美人生

posted on 2009-03-02 01:57 poetguo 阅读(1601) 评论(3)  编辑  收藏 所属分类: J2ME

评论

# re: J2ME手机开发之内存优化攻略(续) 2009-03-04 21:00 即兴诗人

str.length==0改正下 应该为 str.length()  回复  更多评论   

# re: J2ME手机开发之内存优化攻略(续) 2009-03-06 21:54 拓海刘

看不懂滴诗歌  回复  更多评论   

# re: J2ME手机开发之内存优化攻略(续) 2009-03-07 09:29 44you

经验之谈  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航: