Java User’s Guide
6.2 MIDlet Life Cycle
52
s
wm_java_usersguide_v12 Page 51 of 123 2008-02-25
Confidential / Released
notifyDestroyed() – the MIDlet notifies the application management software that it has
cleaned up and is done.
Note: the only way to terminate a MIDlet is to call notifyDestroyed(), but destroyApp() is not
automatically called by notifyDestroyed(). You must not terminate your midlet (i.e. having
no threads left) and not calling notifyDestroyed() before.
notifyPaused() – the MIDlet notifies the application management software that it has
paused
resumeRequest() – the MIDlet asks application management software to be started again.
Table 9: A typical sequence of MIDlet execution
Application Management Software MIDlet
The application management software creates a new instance of a
MIDlet.
The default (no argument) con-
structor for the MIDlet is called; it
is in the Paused state.
The application management software has decided that it is an
appropriate time for the MIDlet to run, so it calls the MIDlet.startApp
method for it to enter the Active state.
The MIDlet acquires any
resources it needs and begins to
perform its service.
The application management software no longer needs the applica-
tion be active, so it signals it to stop performing its service by calling
the MIDlet.pauseApp method.
The MIDlet stops performing its
service and might choose to
release some resources it cur-
rently holds.
The application management software has determined that the
MIDlet is no longer needed, or perhaps needs to make room for a
higher priority application in memory, so it signals the MIDlet that it
is a candidate to be destroyed by calling the MIDlet.destroyApp
method.
If it has been designed to do so,
the MIDlet saves state or user
preferences and performs clean
up.