Matthew Merkle
Active member
- Jun 17, 2012
- 35
- 0
- 0
There is no true multitasking on any Android devices.
This is true multitasking.
More on Android "multitasking"
source:
![]()
Actually, you are misinformed, or misunderstand. Just because it has that functionality you quoted (which is great for battery life, and is partly why the new Blackberry suffers in that department), does not mean it is incapable of true multitasking.
Android has a tiered system for applications:
1. Foreground app (the app you're currently using)
2. Persistent apps (usually your launcher, as you never want that to get killed, as well as Google services)
3. Visible services (apps that keep an icon in the notification tray)
4. Background services (apps that have asked to stay active to perform services, but not in the notification tray, such as Dropbox's Camera Upload feature).
5. Normal applications.
Android as default will keep as many apps as it can in its memory. Normal apps do not use any CPU (none at all, not even a little) when they are stored in RAM without being used. This isn't multitasking, but then again, those apps have told Android they don't want to be or need to be multitasked. Good examples are apps like Angry Birds. There's no reason for it to stay active in the background, so it suspends it in RAM until you need it again. Once you bring it to the foreground again, it resumes instantly, so there's no reason to keep it running.
However, no phone has infinite RAM, so Android has to make tough choices. This means, as RAM fills up, it is forced to kill off apps to make room for new ones. Android uses the above tiered system to decide what is killed off. It starts from the bottom, and goes up until it has the RAM it needs. Under severe RAM shortages, Android will even kill off your launcher to get more RAM (common when playing graphically intensive games on older devices), if it has to.
Android isn't stupid though, it knows that services should be kept running, so it keeps track of what it killed, and can restart them when RAM is available. This functionality is up to the app, some apps don't care about being relaunched.
Now, what does this mean for "multitasking"? See that list up there? 1-4 are ALL multitasking applications. True multitasking, not the iOS style. This is how Android has functioned pretty much from the beginning. Those apps are capable, and do perform functions at will. As long as there's RAM available to run them (which applies to ANY OS), they'll run. Android 4.0 didn't change this, it just works more aggressively to page non-service programs out when they're not needed (since if they're not services, they have no business running anyway).
This is good summary of differences between android and qnx
" Android does multi-task but it puts the control out of the user's hands. It's difficult to figure out whether something is actually running. For instance, Skype video call can run in the background if there's enough RAM, but if you start doing other stuff, Android will shut the app down. That's the biggest advantage the BB10 over Android."
So no it is not the same. Android "Multitasking" is not true multitasking
I'd also like to go further into this, since this is the basis of your misunderstanding:
Android AND QNX cannot perform miracles. If there isn't enough RAM to run an application, it's not going to run. This holds true for any OS since the dawn of time.
Android will kill off Skype in the background if it doesn't have enough RAM to run the app you're currently using. However, as my tiered explanation above states, while it will kill it if it has to, it's one of the last things it will attempt to kill.
You say QNX doesn't do this, but here's the problem. QNX only has two options:
1. Kill off Skype to run the app you're using.
2. Refuse to run your app and maintain your background services (Skype).
#2 is a really, really bad idea, because it confuses the user. The average user doesn't understand how memory works, so they're not going to know they need to kill off apps to make room. Even more importantly, they're not going to know what app(s) to kill. Finally, unlike Android, the user will have to manually reopen those apps to restore their functionality.
It's a really terrible idea (and there's more reasons than those I listed), and although I don't know enough about QNX to be sure, I can say I would be surprised if they would go that route. It's far more likely that they would use a system similar to Android, iOS, and others. Based on the fact that I haven't seen many complaints about "out of memory errors" on BB10, I am willing to bet they use a system similar to Android.
Last edited: