Introduction
Windows Store Application life cycle is an entirely different life cycle compared to Win32 application (Ex: Windows 7 OS application). The following are the changes:
- Windows Store app always singleton application.
- Install the app via Self-contained APPX package.
Windows store application 3 different states are available. Application is always in any one of the following state:
- Running
- Not Running
- Suspended
Application Object
Application object is an interface between OS and the Windows store app, each app has its own application object and is just a receiver object (state of the application) & controls the application life cycle and based on the received input application it will act.
Operating System
Operating system sends the message to the application object based on the user input or decides itself (OS Intelligence) what message is sent to the application (application object).
OS Intelligence:
- OS itself has to decide what to do when the OS Memory is full or running less power mode. In this type of situation, the OS sends the termination message to the application.
- If application is running, the user want to open another application, in this transition period.
- OS first sends the Suspend message to the application currently visible in the screen. (If the application receives the suspend message, store the application information within some seconds (we will see in Part2)).
- Next, the OS sends the launching event (Running state) message to the new application, which lets user open the app.
Launching Application Object
In main function, creating the application object & this object is singleton and is passed to the Application. Start function.
Passing (p) => new App () pass as the call back function ApplicationInitializationCallback, request to the initialization of the application object (singleton object).
ApplicationInitializationCallback: It first creates the main thread of the application, main thread starts creating the main installation part (CoreWindow, Dispatcher)
CoreWindow: CoreWindow class first call CreateNewView to create the CoreViewObject & sets the bounds of the Windows (Window start position and Size).
Dispatcher: CoreDispatcher initializes the event handler handling the Mouse and Keyboard event.
Core Application (App) has created, thread checked the ActivationKind & initialized the value and raised the OnLaunched event.
ActivationKind: This property has used to find the application launch way (Launch, search, share target lot of methods available to launch the application).
Check the create a Frame window and assign it to the current window object.
PreviousExecutionState Find the application state in previous mode initial launch and it should be in NotRunning mode.
Window.Current.Activate () The app must call this method within 15 seconds, otherwise the application will be terminated. This is the default case but we can avoid that.
Summary Flow Application Object:
t