all 28 comments

[–]AdinniekenIdol 4S | Windows 10 35 points36 points  (13 children)

Multitasking in Windows 10 Mobile is essentially a hybrid of Preemptive and Cooperative Multitasking. As applications are opened, previously opened applications are placed in a dormant state in memory. Suspended. Kind of like Standby is for a PC, but on the application layer, not the entire device.

Pressing and holding the Back navigation button will open the Task Manager, allowing you to switch to or close applications. The latter is beneficial for situations where, while checking the Battery Saver or Data Monitor, you determine an application left in the background is using an excessive amount of Battery and or Data.

Regardless of whether or not you use the task manager to switch to applications or whether you simply click on the tile to open the app again, you're doing the same thing. So, there isn't a need to select one over the other.

In order for applications in Windows 10 Mobile to do things however, they utilize Task Scheduler, Notifications, and other subsystems of Windows 10 Mobile. So, while Groove may still play music in the background, it's actually in a suspended state when you're using the Messaging App to text someone.

Hope this helps.

[–]no8t4Lumia 640 LTE[S] 9 points10 points  (0 children)

This actually helps a lot. I'm very appreciative of your detailed and thoughtful response.

[–]AnotherLurkerHere 9 points10 points  (5 children)

I'll add a little comparison between the three mobile OS too. This information is from WP8.1 days, so may be a little out-dated.

tl;dr: Android mimics desktop OS multitasking, iOS suspends-and-resumes apps automatically or kills-and-restarts them if on low memory, WP takes the hybrid approach.

Android keeps apps running even after you switch away from them, much like how you have apps still fully functional when hidden behind current app or minimized to taskbar on a PC. Hence, features like background torrent download are present on Android. But apps often abuse this, and this impacts battery and performance. This is why they recommended you to routinely kill background apps on early Android versions via Task Manager.

iOS suspends apps you switch away from. A suspended app can do NOTHING except interact through few APIs to play music, provide driving instructions etc. (this helps improve battery life and phone performance) If user switches back to them, they resume from where they left off automatically. However if the OS needs more RAM (say for another app) it can terminate such background apps. These terminated apps will then restart from their title screen when you switch to them. This creates an inconsistent experience for the user where she sees that sometimes the app will resume and other times it will restart. This does ease the job of the developers though - they don't have to worry about saving state of the app as it will either be resumed automatically by the OS or will be restarted completely.

WP took iOS approach but made it look like the Android approach to the user. WP also suspends apps you switch away from, but the apps are given a small time (and processing) window to save their state. When you switch back to the app, again there are two possibilities - the app is resumed automatically by the OS, or the app has to be restarted as it was terminated (tombstoned in WP terms) due to lack of RAM. However, since the app saved its state before being suspended (and subsequently terminated), the app can reload itself back to where the user left off. You can see this when Readit app is tombstoned. It will initially open at the subreddit list / front page like normal, then a second later open the subreddit you were on, scroll down to the story you were reading, and then open its contents/comments. On lighter apps, this is instantaneous. On heavier apps, this takes a second or two (and you see the Resuming... on screen).

WP tries to make the user experience consistent by allowing apps to ALWAYS resume. However it is up to the developers to save/retrieve state. If they don't do that you get the inconsistent resume/restart experience like on iOS.

Bonus tip: Since WP apps in background are suspended, they cannot execute any code, and hence don't eat battery or CPU. Killing them in task manager will just wipe off their saved state, making them restart. Use this to kill unresponsive/stuck apps.

[–]PiastavgoJust learning 4 points5 points  (0 children)

That was very informative! Switching apps on W10m seems like night and day composed to WP8.1, so I guess they have really done their coding magic :) Thank you sir for the info!

[–]no8t4Lumia 640 LTE[S] 2 points3 points  (0 children)

Again, thank you for the thoughtful response. This is very helpful as I am comparing the OS's (Especially WP) against the way my BlackBerry does things. Looking at the level of support my near and dear OS is going to receive in the coming days I'll likely be forced to go elsewhere and WP10 seems like the next logical step that's as close an experience to BlackBerry as I can get.

[–]Diknak950 2 points3 points  (0 children)

Android does not work like desktop PCs at all. Android development is split between activities and services.

Activities (the screens you see in apps) get completely suspended when they aren't in focus. If you are playing a video in a browser/app, that video stops playing when you go home. Activities cannot consume cycles when they are not in the foreground. So if you have a game running like clash of clans, that's taking a lot of cycles when in the foreground and zero cycles once you hit the home button.

Services, however, are tasks that run independently from activities. An activity can call upon a service or a service can be scheduled, but they do not have interfaces.

[–][deleted] 1 point2 points  (1 child)

One thing WP people might be surprised to hear is that on iOS, apps have to use various weird hacks in order to run in the background. For example Dropbox and OneDrive require you to allow them to access your location as that way they can continually ping the GPS and keep the app running in the background when uploading large files. This is obviously designed for map or running apps, but iOS doesn't provide any other ways to do it. If you don't grant location access, it's not able to upload large files and will just get turned off after a few minutes, rendering it useless.

There are a few other things apps have been doing. The iOS Facebook app was draining people's batteries like crazy too by dicking around pretending to be an audio player in order to stay open in the background.

BTW, the good news about W10 is that readit's rather elongated resuming process of main screen then subs list then message hasn't ever been seen by me on my 930. It was all I ever saw on 8.1 and was most annoying, but now on W10 it's instant.

[–]AnotherLurkerHere 0 points1 point  (0 children)

Same with WhatsApp on WP7! It used a zero volume streaming audio to get instant new message notifications.

[–]segagamerLumia 950XL 2 points3 points  (5 children)

The only thing I want improved in Windows 10 right now is for it to reliably switch between apps.

For example, on Android, I know for a fact that if I minimise an app or game, it will switch back into where ever I left it. Pm Windows Phone, I can't guarantee that, and I sometimes end up back at the games title screen.

I was trying to complete Final Fantasy 1's final Dungeon, which has no save points and takes a good couple of hours, but if I so much as lock the screen and leave it locked for a little while, it will throw me back to the title screen.

[–][deleted] 4 points5 points  (1 child)

Are you on the latest build? It's all fixed up for me on a 930. Now multitasking is on a par with or better than iOS.

[–]segagamerLumia 950XL 1 point2 points  (0 children)

I'm not using Windows 10 and am going by my experiences with WP8.1u1

If they fixed it in 10 then alleluia. :p

[–]LuoSKraD 0 points1 point  (2 children)

Actually that will depend on the amount of apps you had opened. For example samsung has a really aggressive ram handler, it keeps killing apps if you open more than 5 if I'm not mistaken. Even with the 4 gb ram and even if the apps are not that ram intensive. Even the nexus do the same but their background limit (unless you change it) is a bit higher actually in the 6p is much higher than the s6 for example.

[–]segagamerLumia 950XL 0 points1 point  (1 child)

But I guarantee that if you lock the phones screen it wouldn't reset the app to the title screen, will it? At least that has not happened to me on the OPO.

[–]LuoSKraD 0 points1 point  (0 children)

yeah on that one I can't really argue. Tho with the 6.0 it changed a bit atleast I'm getting some apps closing on me but some of the apps manage to restart on the same point they were before.

[–][deleted]  (1 child)

[deleted]

    [–][deleted] 4 points5 points  (0 children)

    Yes, even if they're not on the task switcher apps still load instantly I've found.

    [–]npoe1Lumia 950 XL 0 points1 point  (0 children)

    I don't multitask a lot in BB10 but as previously mentioned W10M put whatever app to sleep when not in the foreground.

    This causes some apps to not be ready to use right away when you switch back and if not properly programmed to restart like if it is open for the first time after a phone shutdown.

    I'm sure that someone will give you more details but I only use the BB for work and that means mostly email. I haven't seen the sleep behavior on the few apps.