It is also possible to go to Idle state of the phone and leave an application running. This can be done by pressing the End key, or by selecting the Phone application from the Application shell. (The Phone application and Idle state are mutually exclusive states in the phone: when there is a voice call going on, there is no Idle state.) During a phone calls, however, the End key is used for terminating the call and cannot be used as a shortcut to Idle.
The number of simultaneously running (different) applications is limited only by the available memory in the device. When a new application process can’t be created because of limited memory, the system can automatically shut down applications to gain more memory space.
Application interactions
There are two different models of interaction between applications:
1)Use of modules (services) that can be called and run within several different applications. In this model, a service or library function is running within the application the user was originally working with. The applications do not conflict with each other when this model is used.
It should be noted that from the user’s point of view, each item in the Application shell is seen as an application. A specific service can be run in any number of these applications at the same time, so the user may see a similar screen in many applications running simultaneously. But the user cannot launch a new instance of any of the applications in the Application shell before terminating the existing one first: selecting a running application will simply revert to the existing one.
The Back function works normally in this model: the user can step back from an embedded module to the calling application; the modules may even be nested.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Application |
|
|
| call |
|
| Service A |
|
|
| call |
|
| Service B | ||
|
|
|
|
|
|
|
| |||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
| |||
process |
|
|
|
|
|
|
|
|
|
|
|
|
|
| ||
|
|
| return |
|
|
|
|
| return |
|
|
| ||||
|
|
|
|
|
|
|
|
|
| |||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Figure 6-4: Nested services running within an application process. The Back function leads to the parent process.
2)Actually switching from one application to another to accomplish a task. In this model, the other application may need to be interrupted if it is already running. This model is needed when links from one application to another are used.
Whenever an application needs to be interrupted, the system takes care of all pending data. If there’s information that needs to be saved, the system
71