2009-08-02 9 views
2

notifyDestroyed()メソッドは、MIDletによって呼び出され、AMSに破棄状態に移行することを通知します。この通知がAMSによって受信されると、MIDletがnotifyDestroyed()メソッドを呼び出す前にすべてのリソースクリア処理をすでに完了していると推測します。J2ME notifyDestroyed()

したがって、destroyApp()メソッドを呼び出すのではなく、MIDletを強制終了します。

答えて

1

notifyDestroyed()の前にdestroyApp()を呼び出すのがベストプラクティスのようです。

try { 
// Call destroyApp to release resources 
destroyApp(false); 
// Arrange for the MIDlet to be destroyed 
notifyDestroyed(); 
} catch (MIDletStateChangeException ex) { 
// MIDlet does not want to close 
} 
1

notifyDestroyed()が呼び出された後、AMSはdestroyApp()を呼び出すことはありません。

これを行う不正なAMSは、正しいMIDletを実行しているときにスタックオーバーフロー状態になる可能性があります。