蓝色理想
pages.think
加入收藏
 栏目导航: 新闻 | 试用手记 | 评测报告 | 经验及技巧 | 资料大全 | 铃声与短信
 您现在位置:首页 < 移动通讯 < 经验及技巧 < 优化J2ME程序大小
优化J2ME程序大小

日期:2004-7-19 23:14:47 作者:leo整理 文档类型:翻译 来自:蓝色理想数码站

要把J2ME程序与J2SE程序区分开来,其依据就是J2ME运行所处的受限环境。多数J2ME系统的主要受限条件就是可以存储和运行程序所需内存的大小。例如,许多MIDP设备限制应用程序的尺寸不大于50K,这远远不及Server端J2SE运行环境下那些成兆的程序。实际应用中,程序会很容易超出这些限制条件。通过本篇您将学到一些减小程序尺寸大小的技巧,并在下面的例子中实践这些技术。这个例子MIDlet仅仅显示一个文本框并在其内容改变时发声。

package com.j2medeveloper.techtips;
import javax.microedition.lcdui.*;
public class BeforeSizeOptimization extends
                                      BasicMIDlet {
 public static final Command exitCommand =
                      new Command( "Exit",
                                 Command.EXIT, 1 );
 public BeforeSizeOptimization(){
 }
 protected void initMIDlet(){
     getDisplay().setCurrent( new Mainform() );
 }
 public class Mainform extends form {
     public Mainform(){
         super( "Mainform" );
         addCommand( exitCommand );
         append( textf );
         setCommandListener( new CommandListener(){
             public void commandAction( Command c,
                                    Displayable d ){
                 if( c == exitCommand ){
                     exitMIDlet();
                 }
             }
           }
         );
         setItemStateListener(
                           new ItemStateListener() {
             public void itemStateChanged(
                                        Item item ){
                 if( item == textf ){
                     AlertType.INFO.playSound(
                                     getDisplay() );
                 }
             }
           }
         );
     }

     private TextField textf =
               new TextField( "Type anything", null,
                              20, 0 );
 }
}

虽然这个MIDlet在此仅作为一个例子,但使用的尺寸优化技巧可以适用于任一J2ME的profile上。

注意,上面的MIDlet类需要下面的辅助类:

package com.j2medeveloper.techtips;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
public abstract class BasicMIDlet extends MIDlet {
 private Display display;
 public BasicMIDlet(){
 }
 protected void destroyApp( boolean unconditional )
                 throws MIDletStateChangeException {
     exitMIDlet();
 }
 public void exitMIDlet(){
     notifyDestroyed();
 }
 public Display getDisplay(){ return display; }
 protected abstract void initMIDlet();
 protected void pauseApp(){
 }
 protected void startApp()
                 throws MIDletStateChangeException {
     if( display == null ){
         display = Display.getDisplay( this );
         initMIDlet();
     }
 }
}
用J2ME WTK打包时,本例子MIDlet占用4K空间。

减小尺寸的首要步骤就是通过修正程序的功能实现来去掉多余的类。程序的所有功能确实必须都实现吗?用户可以不需要这些“附属功能”吗?要设计尽可能小的程序,这里的MIDlet例子已经相当小了。

  出处:蓝色理想数码站
责任编辑:
冰点的冰蓝色
下一页 优化J2ME程序大小 [2]
Page : 1 2 3 
相关文章:
· J2ME游戏开发实例讲解
· J2ME与手机的无线消息传递
· 在移动设备上用J2ME实现动画

蓝色理想数码站版权申明:除部分特别声明不要转载,或者授权我站独家播发的文章外,大家可以自由转载我站点的原创文章,但原作者和来自我站的链接必须保留(非我站原创的,按照原来自一节,自行链接)。文章版权归我站和作者共有。

转载要求:转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印,亦不能抹去我站点水印。

特别注意:本站所提供的摄影照片,相关评测,如需使用,请与原作者联系,版权归原作者所有

推荐文档】【发表评论】【关闭窗口
· 谈音质标准与音质评价方法
· MP3维修知识经验总结
· 数码相机简易自制立体影像
· 数码照片拍摄用光经验谈
· 手机游戏下载完全实用攻略
· SP智能手机使用IA资源管理器快捷键汇总
· 了解智能手机的操作系统们

· 手机游戏下载完全实用攻略
· SP智能手机使用IA资源管理器快捷键汇总
· 了解智能手机的操作系统们
· 免费WAP风起云涌 移动未来谁主?
· [香港] 结束等待!索爱Z800i行货正式开卖
· 小心你的手机也中毒!
· 手机常见九大故障自我排除法
· 16个手机相关名词释疑
· 主流无线传输技术GPRS与CDMA对比
· GPRS服务详细介绍

版权隐私 | 关于我们 | 项目合作 | 联系我们 | 受众分析 | 更多链接 | 网站地图

2004 digi.blueidea.com All rights reserved 京ICP备05002321号