是否保证在调用MIDlet.pauseApp()或MIDlet.destroyApp()之前完全执行MIDlet.startApp()?

时间:2011-12-26 04:27:13

标签: java-me runtime midp midlet

MIdlet's class javadoc表示如果MIdlet.destroyApp()引发MIdlet.startApp(),则会调用RuntimeException。假设在执行MIDlet.startApp()时没有抛出异常。

保证MIDlet.startApp()在调用MIDlet.pauseApp()MIDlet.destroyApp()之前完全执行?

示例:

MIdlet的类实现:

startApp()
{
  System.out.println("A");
  System.out.println("B");
}

pauseApp()
{
  System.out.println("C");
  System.out.println("D");
}

destroyApp()
{
  System.out.println("E");
  System.out.println("F");
}

输出:

A
E
F

输出(替代):

A
C
D

上面的输出是否可能是scenarii?

1 个答案:

答案 0 :(得分:1)

MIDP javadoc回答

如果在startApp()期间发生运行时异常,则MIDlet将立即销毁。将调用其destroyApp()以允许MIDlet清理。

以及pauseApp()destroyApp()的类似内容。

所以回答OP, NOT 保证以原子方式执行该方法。 runtime exception可以/将改变MIDlet的状态,实际上是执行流程。