学习j2me,首先要了解MIDlet的生命周期。本文主要是深入了解一下MIDlet的生命周期。以上自己的个人心得,不对之处,希望大家多多指点。
首先在你运行一个程序的时候,JAM会调用该midlet的构造函数来生成midlet的对象,然后被jam置于Paused状态。一旦jam认为这个midlet对象可以执行时,jam就会调用startApp()方法,并将此midlet置于Active状态。startApp()方法由于在系统来电、或者退回到系统菜单返回时会被再次调用,所以这里只可以放初始化一次的代码。或者你把初始化一次的代码放到midlet的构造函数中。例如:
public class Midlet extends MIDlet{
Display display = null;
MyCanvas can;
public Midelt(){
display = Display.getDisplay(this);
can = new MyCanvas();
}
public void startApp(){
display.setCurrent(can);//假如把can = new MyCanvas()放到这里,再来电返回时就会出问题。
}
}
或者
public class Midlet extends MIDlet{
Display display = null;
MyCanvas can;
public Midelt(){
}
public void startApp(){
if(display ==null){
display = Display.getDisplay(this);