Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Wirelessly posted (Opera/9.50 (Nintendo DSi; Opera/507; U; en-US))

Compile 'em all said:
I've haven't figured out what the purpose of the multi task mode(double clicking home) myself.

As an example if the iPod app is in multi task mode, how does this app play into it?

Marc

The switcher at the bottom has nothing to do with multitasking or backgrounding. The switcher at the bottom is for recently opened apps. All apps in that bar are suspended and aren't actually running unless they explicitly implement one of the 7 services that can run in the background.

Read what I just posted.
 
Doesn't your final statement "Apps can only do one of the things you list" contradict one of your initial statements "Apps can do anything for up to 10 minutes in the background"? I'm not picking an argument, just trying to understand.

To clarify:

but can ask iOS to do certain restricted things on its behalf while it is asleep, e.g. a chat client listen for new messages, a file app complete a download or a radio app continue to stream audio data to the audio circuitry.

A chat client could listen for new messages for up to 10 minutes, but it must also use Push Notifications to work after 10 minutes. The user experience would be inconsistent if some IMs were delivered as Push Notifications and if others came through when the App was still in the background.

I was really saying that there is no specific API that allows a chat client to listen for new messages.

A file App can complete a download, but only if that takes place within the allocated 10 minutes. There's no specific API for it, just the "task completion" one (which as I pointed out earlier, could be used for anything).

You are correct that both of these things can happen in iOS (for up to 10 minutes), but that there is no way for an IM client to stay connected permanently or for a file to download if it takes 11 minutes.

Background Audio is not just a low level "audio circuitry" layer. When you're using an App that is providing background audio (e.g. Pandora, Spotify, Last.fm), the full App (minus GUI) is running in the background. Most Apps aren't just loading a song file from the disk when they play music. They have to share playback statistics, fetch advertising, check what to actually play next etc.




Here's a summary of the APIs that I wrote a while back (another thread):

There are really 7 "Multitasking" APIs:

- Background Audio
- Background VOIP
- Background Location

- Task Completion

- Push Notifications
- Local Notifications

- Fast App Switching


-Fast App Switching: Any App that is compiled to work for iOS 4.0+ should support this automatically. Put simply, when you press the home button
in an App, iOS will store the state of the App before it is closed. When you open the App up again, that state will be restored, and whatever you
were doing will be restored. For many Apps, this will give the illusion of multitasking (although nothing actually runs in the background)

-Push Notifications: Each iOS device maintains a single connection to Apple's Push Notification (APN) service. App developers can set up a server that
sends notifications to the device that give the illusion of multitasking (e.g. getting messages from Windows Live Messenger when it isn't open)

- Local Notifications: This allows developers to schedule notifications locally on the device (rather than relying on a the connection to a server).
This works well for Apps that know when they will be displaying a notification to the user in advance (such as a Notes app with a reminder function).

- Task Completion: This allows Apps to do anything (that an App can normally do) for up to 10 minutes after an App has been closed.
After 10 minutes, iOS will kill the process. This is really intended to be used for doing things that a user would expect to leave running in the
background, such as finishing off downloads/uploads, but there are no actual restrictions. Some Apps will maintain a connection with a server for as
long as possible using the API.

- Background Audio/Location/VOIP: The uses of these are pretty obvious, but the thing that people might not realise is that Apps using them can
effectively run indefinitely (doing whatever they want to in the background). Playing audio in the background might sound simple, but Apps like
Pandora or Spotify need to do more than just output sound, as such the APIs allow them to do that.

With many of these APIs, the interesting thing to note is that most of the time, nothing is actually running in the background (Apple's preferred method of "Multitasking").
 
I really like apples multitasking

the only two problems still left are

1) IM API
2) Video streaming API.

It would be awesome if you could buffer videos in the background ( like YouTube and netflix)
 
A very simple example of why iOS's multitasking is poor is IM.

When you close an IM App (like Windows Live Messenger or Palringo), the app disconnects from the service(s) it is connected to and switches to using push notifications to continue receiving messages.

When you get a new message, the messaging service (like AIM or Windows Live Messenger) has to forward that message through Apple's push notification service, which relays it to the phone.

That takes additional time and is often unreliable. In many cases there will be an additional server in between (run by the App developer) which adds further unreliability and delay.

When you get a notification from an IM service and you press the button that notification provides to open the App, that App must then open up again and connect to the IM service. Once it has done that, it must download any messages that have been received since the App was last open.

IMO all of this is unnecessarily complex for something that is just sending and receiving text.

you say that, but when i'm at my computer with facebook open, i get responses to a chat on facebook chat quicker on my iphone than on the computer, and it barely takes a second for my iPhone 4 to go from push notification to being in Beejive, it's a very negligiable amount of time, with the bonus of having more battery power than if i was using backgrounder....
 
How do you "close" an app and/or at what point does an app actually close or "reset"?

I ask this because sometimes my apps start from where I left off and sometimes they start from the beginning. Is there a time limit as to how long the apps status is saved or is there some way to "close" the app?
 
How do you "close" an app and/or at what point does an app actually close or "reset"?

I ask this because sometimes my apps start from where I left off and sometimes they start from the beginning. Is there a time limit as to how long the apps status is saved or is there some way to "close" the app?

it depends if it's an app that supports multitasking.
 
Ok so after searching, I found out to close apps you hold them in the multitasking screen until the - appears and get rid of it.

Every one of my apps were open. That's around 50 apps. So now that I've learnt to close them all properly, should my iPhone have better battery life?

Also, earlier I was trying to post some PB URLs into a forum and safari kept randomly closing and stuff. Could this be due to having everything open and it lagging?
 
Well if you want to run one of those neat system utilities apps that android has, you need true multitasking because it needs to run in the background while its monitoring whats going on with your phone.
 
Ok so after searching, I found out to close apps you hold them in the multitasking screen until the - appears and get rid of it.

Every one of my apps were open. That's around 50 apps. So now that I've learnt to close them all properly, should my iPhone have better battery life?

Also, earlier I was trying to post some PB URLs into a forum and safari kept randomly closing and stuff. Could this be due to having everything open and it lagging?

there is no multitasking screen, you're referring to the fast app switching bar, the apps aren't open, their states have been saved, they're not using anything, with the exception of apps using the multitasking API's such as task completion, stuff like GPS, iPod, Pandora, things like that, as explained earlier in this thread by a few people like Daveoc64
 
there is no multitasking screen, you're referring to the fast app switching bar, the apps aren't open, their states have been saved, they're not using anything, with the exception of apps using the multitasking API's such as task completion, stuff like GPS, iPod, Pandora, things like that, as explained earlier in this thread by a few people like Daveoc64

I understand that. I'm still wondering how an app is actually closed then? sometimes an app will save its current location, then other times it will open fresh. How/what/when determines when or how long an app that supports multi-tasking saves its current location or starts fresh?
 
I understand that. I'm still wondering how an app is actually closed then? sometimes an app will save its current location, then other times it will open fresh. How/what/when determines when or how long an app that supports multi-tasking saves its current location or starts fresh?

The most basic form of multitasking (which isn't actually multitasking, but gives the impression that it is!) is "Fast App Switching".

When you close any App made for iOS 4.0 and newer, iOS will save the state of the App. That means that when you open that App up again, the state will be restored and it will behave as if you had never left the App (although for some Apps, this wont work as they would be displaying incorrect information to the user if they did this).

When an App is in this suspended state, it isn't running (i.e. using up CPU cycles or battery). It MAY reside in the RAM of your iOS device, but you shouldn't worry about that because iOS will remove it from the RAM if something else needs that space.
 
The most basic form of multitasking (which isn't actually multitasking, but gives the impression that it is!) is "Fast App Switching".

When you close any App made for iOS 4.0 and newer, iOS will save the state of the App. That means that when you open that App up again, the state will be restored and it will behave as if you had never left the App (although for some Apps, this wont work as they would be displaying incorrect information to the user if they did this).

When an App is in this suspended state, it isn't running (i.e. using up CPU cycles or battery). It MAY reside in the RAM of your iOS device, but you shouldn't worry about that because iOS will remove it from the RAM if something else needs that space.

That still does not answer my question. I understand how multitasking works on the iphone in theory anyway....

My question is: at some point an app will close or loose it's saved state. Now what determines when an app actually saves its current state or when its actually reset the next time you open it?

It's been posted here that the apps stored in the double click menu are simply just your most recently visited apps and has nothing to do with the status of an app in relation to multitasking. I tested that theory and it's wrong. I opened iheartradio and then clicked the home button and it continued to play. I then double clicked the home button and "x" ed out the iheartradio icon and the music stopped. So "x"ing an app in the double click menu will "close" an app.

What I still am curious about is when i do not "x" and app out what causes it to either stay suspended in its current state or eventually reset? Is there a time limit or memory limit?
 
What I still am curious about is when i do not "x" and app out what causes it to either stay suspended in its current state or eventually reset? Is there a time limit or memory limit?

Usually the X in the multitasking bar will always clear an App's state.
 
So "x"ing an app in the double click menu will "close" an app.

If it's an app that actually runs a background process. An internet radio app that is streaming music would be one such app, so would a navigation app running in the background.

Most apps don't run anything in the background, though, so "closing" them doesn't do much.

As to your second question, I don't know. Haven't noticed that behaviour on my iPhone...
 
If it's an app that actually runs a background process. An internet radio app that is streaming music would be one such app, so would a navigation app running in the background.

Most apps don't run anything in the background, though, so "closing" them doesn't do much.

As to your second question, I don't know. Haven't noticed that behaviour on my iPhone...

Closing an App using the X will remove it from the iOS device's memory. That will clear its state.
 
Multitasking is obviously app dependent. Some apps save it's last state, others don't and just completely start over. Some just push and/or keep you signed on. Then there are apps that seem to keep fulling running like Pandora, GPS apps and I recently noticed Skyfire that keeps playing media.
 
Multitasking is obviously app dependent. Some apps save it's last state, others don't and just completely start over. Some just push and/or keep you signed on. Then there are apps that seem to keep fulling running like Pandora, GPS apps and I recently noticed Skyfire that keeps playing media.

it is app dependant, they have to be running one or more of the 7 multitasking API's to multitask.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.