你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:技术专栏 / Java专栏
对J2ME技术的基本概述以及体系结构介绍(3)
 
MIDlet有三个状态,分别是pause、active和destroyed。在启动一个MIDlet的时候,应用管理软件会首先创建一个MIDlet实例并使得他处于pause状态,当startApp()方法被调用的时候MIDlet进入active状态,也就是所说的运行状态。在active状态调用destroyApp(boolean unconditional)或者pauseApp()方法可以使得MIDlet进入destroyed或者pause状态。值得一提的是destroyApp(boolean unconditional)方法,事实上,当destroyApp()方法被调用的时候,AMS通知MIDlet进入destroyed状态。在destroyed状态的MIDlet必须释放了所有的资源,并且保存了数据。如果unconditional为false的时候,MIDlet可以在接到通知后抛出MIDletStateChangeException而保持在当前状态,如果设置为true的话,则必须立即进入destroyed状态。下图说明了MIDlet状态改变情况:

  对J2ME技术的基本概述以及体系结构介绍

  MIDlet状态图

  下面通过一个例子来验证MIDlet应用程序的生命周期:

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class HelloWorld extends MIDlet{
 private Display display;
 //构造函数
 public HelloWorld(){
  display = Display.getDisplay(this);
  System.out.println("Constructor");
 }
 public void startApp(){
  System.out.println("startApp is called.");
  Form f = new Form("HelloTest");
  display.setCurrent(f);
 }
 public void pauseApp(){
  System.out.println("pauseApp is called.");
 }
 public void destroyApp(boolean unconditional){
  System.out.println("destroyApp is called.");
 }
}

  编译该程序后运行,控制台上就会依次输出:

  Constructor startApp is called.

  当我们退出该程序时,控制台就会输出:

  destroyApp is called.

  对于详细的生命周期问题,读者可以查看其他教程籍或者本指南以后的更新的版本。

(编辑:aniston)

  推荐精品文章

·2024年12月目录 
·2024年11月目录 
·2024年10月目录 
·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089