PDA

View Full Version : iOS7 Multitasking please explain.


smoothisfast
Jun 13, 2013, 04:42 PM
How does the Multitasking in ios7 differ from before?

baller1308
Jun 13, 2013, 04:52 PM
I think it is the same, just different UI.

batting1000
Jun 13, 2013, 04:53 PM
Apps will actually run in the background now. Previously they froze when you exited them.

Also, iOS 7 will learn which apps you use the most at certain times and will allow them to update in the background so they're ready for you when you go into them.

afurry13
Jun 13, 2013, 04:54 PM
Apps will actually run in the background now. Previously they froze when you exited them.

That sounds like a battery life nightmare.

Stetrain
Jun 13, 2013, 04:54 PM
http://www.apple.com/ios/ios7/features/#multitasking


Basically there are now a lot of new ways that apps can be periodically woken up to update their content in the background.

For example with the new system, when you get a push notification that you got a new Facebook message the app would be allowed to run in the background for a few moments.

That way when you open the app it can already have the new message downloaded and displayed rather than have to load it after you open the app.

There is also an option for an app to schedule a download in the background that will continue to run even after the app is frozen.

fmalloy
Jun 13, 2013, 04:55 PM
Apps will actually run in the background now. Previously they froze when you exited them.

This is a very simplistic explanation. There are still rules and limitations as to what runs in the background and when. If every app could run full speed continuously in the background without limits you'd run out of battery pretty quickly.

Stetrain
Jun 13, 2013, 04:55 PM
Apps will actually run in the background now. Previously they froze when you exited them.

They do not run continuously. They can be woken up for short period of time in the background because of specific triggers. (Except in the specific cases as were available previously like audio playback in the background, VOIP apps, and navigation apps)

mrapplegate
Jun 13, 2013, 04:55 PM
This video explains the new system best. You need to be a registered developer to view.
https://developer.apple.com/wwdc/videos/?include=204#204

batting1000
Jun 13, 2013, 04:56 PM
They do not run continuously. They can be woken up for short period of time in the background because of specific triggers.

Well obviously. Additionally, Apple said they updated murmur asking so that it functions with great battery life.

dejo
Jun 13, 2013, 04:58 PM
https://developer.apple.com/wwdc/videos/?include=204#204

This video explains the new system best.

Note: You need to be a registered Apple developer to watch this video.

mrapplegate
Jun 13, 2013, 05:09 PM
Note: You need to be a registered Apple developer to watch this video.

Oops. My bad. You're right.

Mrg02d
Jun 13, 2013, 05:12 PM
Apps will actually run in the background now. Previously they froze when you exited them.

Also, iOS 7 will learn which apps you use the most at certain times and will allow them to update in the background so they're ready for you when you go into them.

Ive read some conflictning thoughts on what, exactly, runs in the background.

When I first read what Apple wrote, I took it as iOS 7 seeing me use a particular app alot and then keeping it in memory for me.

An example: I use my camera alot. From what I understand, iOS 7 would notice this and keep it in RAM for me.

Others pointed out that this is NOT the case. What iOS 7 will do is to allow those apps to update as in APP updates from the App store done in the background.

dejo
Jun 13, 2013, 05:14 PM
Oops. My bad. You're right.

That's okay. Maybe just edit your post with the video link to make mention of that. I can then delete these followup posts.

----------

An example: I use my camera alot. From what I understand, iOS 7 would notice this and keep it in RAM for me.

That's not really multitasking. It's just better memory-management. And iOS has been doing this for quite some time.

Mrg02d
Jun 13, 2013, 05:22 PM
That's okay. Maybe just edit your post with the video link to make mention of that. I can then delete these followup posts.

----------



That's not really multitasking. It's just better memory-management. And iOS has been doing this for quite some time.

On my 4s it usually takes me 3 seconds to open my camera if I havent been using it often. Jailbroken and running background manager solves this for me, but I plan to leave the jailbreak for iOS 7. Same goes for a few other apps I use: Settings takes its sweet time to open. Yahoo weather is a nightmare to open from a cold start.

It would be great to see iOS 7 keep these in RAM for me...Whats the use of 150mB plus of RAM? Might as well use it...

snappyfool
Jun 13, 2013, 05:27 PM
I'm not sure what I think about the changes to background task completion. Does that mean, for example, if I send an email and quickly lock screen before it sends, it won't send until the next time I unlock?

mrapplegate
Jun 13, 2013, 05:31 PM
I'm not sure what I think about the changes to background task completion. Does that mean, for example, if I send an email and quickly lock screen before it sends, it won't send until the next time I unlock?

No, mail is allowed to finish it's task and then the phone will switch off.

Brenz
Jun 13, 2013, 05:42 PM
Others pointed out that this is NOT the case. What iOS 7 will do is to allow those apps to update as in APP updates from the App store done in the background.

Your getting confused between app updates and the multitasking.

Your right that in iOS 7 apps will be updated automatically instead of being required to update them yourself (can be turned off).

The multitasking is different. For example imagine the Facebook app, previously once you close it it cannot keep running and keep your feed up to date. So when you received a push notification the new data wouldn't be downloaded until you open the Facebook app again.

Now in iOS 7 in some situations apps are allowed to run in the background for short periods of time. This can be down to various things from you using your device, receiving a push notification, the iOS multitasking scheduler noticing a pattern in your use of an app, etc.

So for Facebook if your phone notices that you open the app most days around 3pm it will give Facebook a bit of time just before this to pull the latest data. Or if you get a push notification of a comment it will allow Facebook to get this comment for you ready to view saving you time when you open the app.

Hopefully that explains it a bit better :)

snappyfool
Jun 13, 2013, 06:12 PM
No, mail is allowed to finish it's task and then the phone will switch off.

Are you saying Mail specifically, or that this is the general concept with the new API? To change the example because first party apps may behave differently, say I'm sending a video in Whatsapp that takes a while to upload. If I did this in iOS 6, went to home screen and locked the phone before it finished, it could continue in the background. The video suggests in iOS 7 that as soon as the screen is locked, the background task is paused and the system goes to sleep.

If you could explain what I'm missing, that'd be great :)

mrapplegate
Jun 13, 2013, 06:18 PM
Are you saying Mail specifically, or that this is the general concept with the new API? To change the example because first party apps may behave differently, say I'm sending a video in Whatsapp that takes a while to upload. If I did this in iOS 6, went to home screen and locked the phone before it finished, it could continue in the background. The video suggests in iOS 7 that as soon as the screen is locked, the background task is paused and the system goes to sleep.

If you could explain what I'm missing, that'd be great :)

A general concept. If you locked the screen then it would lock, but mail would be allowed to continue to send that message then enter a saved state.
If written with the new 7 API's then Whatsapp would also be allowed to finish it's task then enter the background saved state.
I'm can't recall the video, but as of iOS7 any app written to support it can be allowed to finish their task.

snappyfool
Jun 13, 2013, 06:26 PM
A general concept. If you locked the screen then it would lock, but mail would be allowed to continue to send that message then enter a saved state.
If written with the new 7 API's then Whatsapp would also be allowed to finish it's task then enter the background saved state.
I'm can't recall the video, but as of iOS7 any app written to support it can be allowed to finish their task.

I'm more and more convinced I know better than you do now, sorry. iOS 6 already had background tasks. Whatsapp can already send that video message in the background. One of the changes in iOS 7 is the opportunistic nature of background tasks. So rather than waiting for the app to finish its background uploading (limited to a reasonable time) before going to sleep, as iOS 6 does, iOS 7 now pauses the task as soon as the screen is turned off. This then allows the phone to sleep soon after. If in 10 minutes you wake your phone again, the background task can continue. The idea is that it's more efficient to do this when the phone has to be powered up anyway because the user is interacting with it. Apps will still get more or less the same time to complete a task, but it won't necessarily be contiguous. Seems like a smart idea, but I worry about the number of times I send off a quick message and put the phone to sleep immediately expecting it to continue in the background. Sounds like it now won't complete until next time I wake it up.

mrapplegate
Jun 13, 2013, 06:29 PM
I'm more and more convinced I know better than you do now, sorry. iOS 6 already had background tasks. Whatsapp can already send that video message in the background. One of the changes in iOS 7 is the opportunistic nature of background tasks. So rather than waiting for the app to finish its background uploading (limited to a reasonable time) before going to sleep, as iOS 6 does, iOS 7 now pauses the task as soon as the screen is turned off. This then allows the phone to sleep soon after. If in 10 minutes you wake your phone again, the background task can continue. The idea is that it's more efficient to do this when the phone has to be powered up anyway because the user is interacting with it. Apps will still get more or less the same time to complete a task, but it won't necessarily be contiguous. Seems like a smart idea, but I worry about the number of times I send off a quick message and put the phone to sleep immediately expecting it to continue in the background. Sounds like it now won't complete until next time I wake it up.

There are a couple of ways it is handled. The video (https://developer.apple.com/wwdc/vid...nclude=204#204) I linked to explains it better. You need to be a registered developer to view. I'm sure I'm not explaining it well after only watching it once. It's 42min long , if I recall.

snappyfool
Jun 13, 2013, 06:30 PM
There are a couple of ways it is handled. The video (https://developer.apple.com/wwdc/vid...nclude=204#204) I linked to explains it better. You need to be a registered developer to view. I'm sure I'm not explaining myself well after only watching it once. It's 42min long , if I recall.

I have watched the video you linked to earlier and everything I'm saying is in response to it. Will rewatch it as I'm sure I missed something. Thanks for being patient.

mrapplegate
Jun 13, 2013, 06:41 PM
I have watched the video you linked to earlier and everything I'm saying is in response to it.
I still think Mail will send the message in the background. I can test it. I do recall if the developer chooses to use one instance that as you said the app will take advantage to brief periods of being "on" and continue tasks.

Mail delivered the message. I sent it, watched the progress bar go 1/4 of the way of sending and locked the phone.

----------

I have watched the video you linked to earlier and everything I'm saying is in response to it. Will rewatch it as I'm sure I missed something. Thanks for being patient.

I'm just trying to make sense of it all. There is too much to take in to be knowledgeable.

snappyfool
Jun 13, 2013, 06:57 PM
I'm just trying to make sense of it all. There is too much to take in to be knowledgeable.

Right. Figured it out. What I said is only partially correct - it's correct for regular offline background tasks. So if your background task is to tidy up a few things in your app or whatever then yes, there is the potential for that task to be paused immediately when the screen is turned off whereas before it could continue for a bit longer.

But what iOS 7 allows for is another specific type of background task for transferring files. And this is more free than ever - it can continue when the app has exited, it isn't time limited, and so on. So those network transfer examples I gave (Mail and Whatsapp) both fall under this, and will be able to complete. Thanks for persisting with me! :)

mrapplegate
Jun 13, 2013, 07:07 PM
Right. Figured it out. What I said is only partially correct - it's correct for regular offline background tasks. So if your background task is to tidy up a few things in your app or whatever then yes, there is the potential for that task to be paused immediately when the screen is turned off whereas before it could continue for a bit longer.

But what iOS 7 allows for is another specific type of background task for transferring files. And this is more free than ever - it can continue when the app has exited, it isn't time limited, and so on. So those network transfer examples I gave (Mail and Whatsapp) both fall under this, and will be able to complete. Thanks for persisting with me! :)

Got it. That makes sense.