Application Platform Overview for Windows Phone 8

New Windows Phone 8 ...

(I have downloaded the above image from http://www.ishopping.pk/product_images/r/697/nokia-lumia-white__71613.jpg, if anybody has issue with it please mail me to freemind.nitesh@gmail.com)

Hello guys I hope you have been enjoying your life. Now lets get down to some serious business 😉 just kidding….

There is no serious in Windows Phone. Everything goes fluently and smoothly around. 🙂

Lets start with the Windows Phone application life cycle :

Now basically in the application life cycle there are 9 steps that we need to be considered or rather we can call them as events that we need to put some light on.

  1. Launch Event
  2. Running
  3. OnNavigatedFrom Method
  4. Deactivated Event
  5. Dormant
  6. Tombstoned
  7. Activated Event
  8. The OnNavigatedTo Method
  9. The Closing Event

Now before I explain any further let me show you some life cycle diagram that I have taken from Microsoft site.

Application Life Cycle

(I have downloaded the above image from Microsoft Site, if anybody has issue with it please mail me to freemind.nitesh@gmail.com)

As you can see all the stages that I have mentioned above are in the diagram too. Let me tell you one thing, if you know how the application flows from start till end you will be able to understand all the Windows Phone very easily and quickly.

Lets go through each stage one by one and lets get it explained:

The Launch Event:  Now as the name suggests this event launches the new instance (instance means running the application from the start, that is having a fresh start of the app) of the application. The application can be launched by selecting from the list of application or if you have a tile of the app on the home screen or from a notification that appears on the screen, which will directly take you to the app home screen. As I have mentioned that the app should look fresh and new. There should not be any reference from the previously run of the app.When you run the app the Launch event gets raised. As the launching of the app is totally dependent on this event, and as we are here to give the perfect User experience, definitely we will not be doing any heave coding here that is in the handler of this event. Whatever you want to have the heavy loading that should be done in a background thread.

Running: Well as the name says, this event is called when the app launches. Until and unless the user moves ahead or goes behind this event keeps running.Windows Phone apps shouldn’t provide a mechanism for the user to quit or exit. There is another scenario where the running stage stops, that is when the phones lock screen has been engaged. Although this can also be skipped if you have handled the application ideal detection, now in short I will try and explain the application ideal detection, this has been introduced so that the power consumption of the app can be controlled and we can make the app most power efficient. For more details follow this.

The OnNavigatedFrom: Now this method is called whenever the user navigated from a page to nay other page. This may happen in the app or outside the app, that is within your app or when the user navigates away from the app. The important point here is you should store the information or you should save the page state as when the user returns to the app again and the page is no longer in the memory. In this there is one more property called as NavigationMode property which will determine weather you page is a backward navigation or not, if it is then you should not save the state as the next visit it will recreate itself.

The Deactivated Event: This event is called when the user moves forward from the application, and this can be done either by pressing the start button on the phone or by opening another application. This event is also called when you have  a chooser in place where, to get more information about it press here. Also is called if the device lock screen is enabled, unless application idle detection is disabled. Ideally speaking you should save all the data in the handler of this event so when ever you return, the data is not lost. The app is provided with the State object. It is a dictionary where you can store the app state information.

Dormant: After the deactivated state the operating system will try and put the app in the dormant state. Now the beauty of this state is that, the application processing and the threads will be stopped, that is there will be no processing done for the app but still the app remains intact in the memory. The best thing is that of the app is reactivated from this state it does not need to re-establish the state as it is all preserved 🙂 🙂 ….. Isn’t this amazing one !! . But now if the user gets on opening new apps and there is not enough memory to run the app then the operating system will push the dormant state apps in the  Tombstoned state to free the memory.

Tombstoned: Now this state is really interesting one, in this state the app is terminated, its just that the operating system will save the information of the navigation state and the dictionaries that were populated during the deactivated event. The tombstoning information is saved  for five apps. If the user navigates back to the tombstoned application it will take that preserved information to restore state.

The Activated Event: The activated event is called when the app returns from the Dormant or Tombstoned state. You can check that in  IsApplicationInstancePreserved property where you will see if its returning from the Dormant state or Tombstoned state. If its true its Dormant, and false then Tombstoned. Again as stated above that we have to give the best User Experience so we should not do any resource intensive tasks (loading from isolated storage or a network resource) in the activated event as it will consume time for resuming the app. instead have a background thread that will do all when the app resumes.

The OnNavigatedTo Method: This method is called when the user navigates to the page. This includes when the user first launches the app or in between the app pages. This is used to check whether the page is the new instance or the one returned from Dormant or Tombstoned state. If its not a new instance naturally the page state does not need to be restored, but it is a new one then you should use the state dictionary to restore the state of the page UI.

The Closing Event: This event is called when the user navigated backward from the main/home page of the app. This time the app is terminated and no state is saved. In this event handler you should save the persistent data that you will need through out the instances of the app. The operating system gives a limited amount of 10 secs to complete all the navigation page events, as the time exceeds the app terminates.

So guys I guess you understood all the things that I have explained in the above article. Really guys if you have not understood anything out of it, please let me know so that I can help you understand it. Anything at all.

I will keep you posted more and more.

Have a happy life and keep good health … 🙂 🙂 🙂

Advertisements

4 thoughts on “Application Platform Overview for Windows Phone 8

  1. Dear Sir/Madam,

    We are pleased to introduce ourselves as a renowned Engineering College from Nagpur, Maharashtra, offering Quality Technical Education in the branches of Mechanical, Civil, Electrical, Electronics, Information Technology & Computer Technology since last 29 years. We also have a MBA programme at our KDK Engineering College, Nagpur.

    We would also like to mention that some of our programmes at KDK College of Engineering have been accredited by the National Board of Accreditation (NBA), which is the highest body for assessment of Technical Education in the Country.

    We have arranged Campus Interviews and Pool Campuses of many reputed Industries/Companies of our Country over these years. We also have the distinction of being the Selection Centre for Central India candidates for many Fast Track Selections and Common Admission Tests of the prestigious Indian Air Force (IAF) in the last decade.

    In our Group we have three other Engineering Colleges , namely Umrer College of Engineering (UCOE), Umrer , Nagpur, SRM College of Engineering for Women (SRMCEW), Nagpur, Bhausaheb Mulak College of Engineering (BMCE) , Butibori, Nagpur offering Quality Technical Education in various branches of Engineering . UCOE and BMCE have MBA programmes also. Thus, we have a substantial number of eligible students for Campus Interviews in our Group itself.

    We therefore request you to consider Campus Recruitment at our KDK Engineering College for Engineering and Management students in your Visit Schedule of this year for 2013 Batch students.

    Looking forward for an early & affirmative response.

    Thanking you,
    Your’s Truly,

    Er. Pankaj Shende Prof. Madhur Shukla,
    T&P officer, Dean T&P,
    KDK College of Engg. , (M) – 9822201038
    Great Nag Road, Nandanvan, Email Id –madhur_shukla@yahoo.com
    Nagpur-440009 (MS).
    (M)- 9923810131
    Tel. Fax – (0712)-2717537, 2712538
    Email Id – kdk_tnp@yahoo.com

    Other Contacts:

    Er. Sagar Chunne
    T&P Coordinator
    Mob. No.: 09673857111

    Note: Detailed Information about all our Engineering Colleges is available on the respective websites i.e.
    http://www.kdkce.edu.in for KDKCE, Nagpur
    http://www.ucoe.org.in for UCOE, Umrer
    http://www.srmcew.edu.in for SRMCEW, Nagpur
    http://www.bmce.edu.in for BMCE, Butibori.

  2. Hiya very cool web site!! Man .. Beautiful .. Amazing ..

    I will bookmark your site and take the feeds also?
    I’m glad to seek out a lot of useful information here
    in the put up, we’d like develop extra strategies in this regard, thanks
    for sharing. . . . . .

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s