AISEC 12 april 2012 WP 7.1.1

  • 56 views
Uploaded on

 

More in: Mobile , Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
56
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
0
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. WP7.1.1 Cătălin Gheorghiu April 11, 2012
  • 2. Agenda • What we will not talk about • What is multitasking or the great picture • WP 7 multitasking or life ain’t fair • WP 7 Application Lifecycle or our case • Mango dormant state or the novelty • Mango background task or the news • Q&A
  • 3. What we will not talk about & What is multitasking or the great picture
  • 4. WP 7 multitasking or life ain’t fair
  • 5. WP 7 multitasking • The Windows Phone platform uses a multi- tasking operating system (so far so good) • However, this multi-tasking ability is not extended to applications that we write (small print at the bottom) • Although we can have something that can run in the background (a solution)
  • 6. WP 7.1 Application Lifecycle or our case
  • 7. Application Lifecycle http://msdn.microsoft.com/en-us/library/ff817008(v=vs.92).aspx
  • 8. Application Lifecycle
  • 9. Application Lifecycle <Application.ApplicationLifetimeObjects> <shell:PhoneApplicationService Launching="Application_Launching" Closing="Application_Closing" Activated="Application_Activated“ Deactivated="Application_Deactivated"/> </Application.ApplicationLifetimeObjects>
  • 10. Demo(s)
  • 11. Mango dormant state or the novelty
  • 12. Mango dormant state • An application will receive events to notify it of changes to state (same for tombstone and dormant) • It can also use status information when it resumes (to know if tombstone or dormant) • It has access to memory space to save transient state and isolated storage to persist application state (does not know if is going to sleep or put to sleep) • Beware an app even dormant could very well not get activated again
  • 13. Demo(s)
  • 14. Mango background task or the news
  • 15. Mango background state (no Tango) • A Windows Phone application can start ONE “background agent” to work for it (with limitations in what it can do and the access it has to the processor and other phone facilities). Think about them as app own shadow windows service – It is a PeriodicTask, ResourceIntesiveTask or both at the same time • The agent can run when the main application is not in the foreground • An agent is not equivalent to a foreground application running in the background
  • 16. Mango background state • The number of agents allowed to be active at one time is restricted by the Windows Phone operating system • If the right conditions do not arise for an agent it will not be started or will stop running – Background agents only run in situations where the operating system feels able to give them access to the processor – If the phone goes into “Power Saver” mode it may stop running background agents completely • Users can also manage the agents running on their phone and may chose to disable them
  • 17. Mango background state • A Task is the container that is managed by the operating system and runs at the appointed time and it runs an Agent which is the actual code payload which does the work – The agent code is called as a method in a class – The class is created as part of a Scheduled Task Agent Project • There are two kinds of Task – Periodic tasks that are run every now and then – Resource intensive tasks that run when the phone is in a position to let them
  • 18. Mango background task • PeriodicTask Agent runs every now and then – Typically every 30 minutes or so, depending on loading on the phone • It is intended to perform a task that should be performed regularly and complete quickly (is allowed to run for 15 seconds or so) – The phone sets a limit on the maximum number of active agents at any time • Good for location tracking, polling background services
  • 19. Mango background state • Resource Intensive Agents run when the phone is in a position where it can usefully perform some data processing (but up to 10 minutes): – When the phone is powered by the mains – When the phone is connected to WiFi – When the phone is not being used (Lock screen displayed) • Good for synchronization with a host service, unpacking/preparing resources, compressing databases
  • 20. Mango background task • It is possible for an application to perform both periodic and resource intensive work in the background (remember just ONE Agent per app) • This can be achieved using a single background agent class, run from both kinds of task • The agent will run periodically and when the phone is in a position to allow resource intensive work • When the agent starts it can determine the context in which it is running and then behave appropriately
  • 21. Demo(s)
  • 22. Q&A
  • 23. Thank you for your attention. Contact: •My Blog http://ronua.ro/CS/blogs/catalin/default.aspx •My Email catalin.gheorghiu@ronua.ro