"External" App Backgrounding - True 100% Multitasking for the Next Gen of Apps? - Android Software/Hacking General [Developers Only]

"External" App Backgrounding - True 100% Multitasking for the Next Gen of Apps?
There are many apps in Android that don't behave when you multitask or should i say TRY to multitask with them. Recently more and more apps just refuse to multitask, as they will either stop or reload themselves to their home screen when the app leaves the foreground.
For instance NetFlix, WatchESPN, TWEETCASTER, the native android music player and in-browser streaming radio/video apps will abruptly cease playing the second you do something else. Even worse when you return to the app you have to start all over as it won't be in the same menu as when you left the app. And these are just to name a few of these misbehaving apps.
I was hoping that some kind of app could solve this dilemma, where it would externally keep a chosen app "in memory" or in a locked state. This would give the power to the user instead of allowing the app to dictate how it should run on the OS. It would be 100% TRUE BACKGROUNDING for the Android OS!
I should be able to designate the app or apps that should be "backgrounded" or "locked" in memory, so that we could do any other tasks and if I was to return to the locked app it would be in the same exact state as when you left it.
If the "locked" or "backgrounded" app was a streaming video/radio app, then if you were to lock the app in memory, then the streaming video/radio should continue to stream or play in the background until you either manually exit the app or un-lock the app.
There were a few iphone apps that did this similar function as well, running off the "backgrounder" function. I'm hoping that this can be duplicated on the Android OS, as this is a very frustrating shortcoming of the Android OS. I realize that Android does offer true multitasking, but the problem is that it also caters to misbehaving apps, giving them the ability to not multitask.
I would imagine that the app would have to run under root, but I think this can be done. Anyone think they can offer this up to the community? Thanks!

Related

How to Permanently Kill Apps/Processes

Please bear with me since I understand this is a noob question, but a google search revealed no such topics... I have dl'd several task managers on my newly installed Android 2.2 (thanks to a wonderful xda developer) and I kill tasks to free memory on my device. However, it seems that if I open an app during any given time use of Android, those processes never fully terminate. This includes Google Voice, Maps, News & Weather, Meebo and Voice Search (which might be a system thread or w/e and I am ok with that) among many other apps. Is there a way to permanently kill these apps? Thank you for your help and patience.
EDIT: Just want to add that I use the back button to exit apps most times cuz I read thats the proper way to do it.
Don't bother, Android is not like a desktop OS where running too many applications runs down the available memory to the point where the OS slows down. Android is clever in that it will take memory claim memory back from running applications if they are not in focus. This is fast and completely transparent to the user.
Killing applications will often slow the OS down. as you have noticed, a lot of them start up again because they are needed by the OS in someway. Killing these applications slows your experience down as Android has to reload them from the flash memory - s.l.o.w
There are times where killing applications is genuinely useful but they really are few and far between.
Oh and to actually answer your question, most of the task managers will kill the task like they are supposed to. If the task starts up again, it is because something is telling it to. Like your sync settings for example.

[Q] Make an app always run

Is there a way to make an app always run? I want specifically to make Firefox mobile always run on background as it seems to be killed sometimes when there is not much free RAM. It annoys sometimes that Firefox is killed even when I switch off from it to my dictionary app and switch back. Any ideas? I think this is doable because apps like LaunchPro is alway running on background without being killed by Android's task management.
You'll rape your battery if you interfere with Android's memory management.
There seem to be a bunch of apps that keep running some of them useless but my 'Messages' app keeps closing pretty soon after I stop using it and for some reason takes an annoying amount of time to start up again after it's been closed... I could really use making it run in the background as I think it's a lot better than the 3rd party ones on the market.

Home vs back button exiting apps

From my layman understanding of how android OS works, leaving an app via the home button will place the app in a "pause" state but not remove it from memory until the OS decides it has been paused a while and wants the resources for something else.
Using the back button is supposed to tell the OS that you're done with the app and take the service out of memory usage *IF* the app was coded well enough to cooperate.
But I've noticed on my phone that no matter which method I've used, when I open the stock task manager the apps remain as running services regardless. So does it make any difference on my battery life and system resources which method I use?
Sent from my MB860 using XDA App
well i would suggest that you should close only apps like games or facebook(because facebook keeps syncing and games use a lot of cpu).Other processes for example keyboard do not affect battery life and should be running in the background

Why You Shouldn’t Use a Task Killer On Android

So i saw many posts on which people have asked as to which task killer should be used !
and then i stumble upon this site which provided me the details,
i just complied info
sources-by Chris Hoffman
http://www.howtogeek.com/127388/htg-explains-why-you-shouldnt-use-a-task-killer-on-android/
Android Doesn’t Manage Processes Like Windows
Most Android users are familiar with Windows. On Windows, many programs running at one time – whether they’re windows on your desktop or applications in your system tray – can decrease your computer’s performance. Closing applications when you’re not using them can help speed up your Windows computer.
However, Android isn’t Windows and doesn’t manage processes like Windows does. Unlike on Windows, where there’s an obvious way to close applications, there’s no obvious way to “close” an Android application. This is by design and isn’t a problem. When you leave an Android app, going back to your home screen or switching to another app, the app stays “running” in the background. In most cases, the app will be paused in the background, taking up no CPU or network resources. Some apps will continue using CPU and network resources in the background, of course – for example, music players, file-downloading programs, or apps that sync in the background.
When you go back to an app you were recently using, Android “unpauses” that app and you resume where you left off. This is fast because the app is still stored in your RAM and ready to be used again.
Why Task Killers Are Bad
Proponents of task killers notice that Android is using a lot of RAM – in fact, Android stores a lot of apps in its memory, filling up the RAM! However, that isn’t a bad thing. Apps stored in your RAM can be quickly switched to without Android having to load them from its slower storage.
In summary, you shouldn’t use a task killer – if you have a misbehaving app wasting resources in the background, you should identify it and uninstall it. But don’t just remove apps from your phone or tablet’s RAM – that doesn’t help speed anything up.
Empty RAM is useless. Full RAM is RAM that is being put to good use for caching apps. If Android needs more memory, it will force-quit an app that you haven’t used in a while – this all happens automatically, without installing any task killers.
Task killers think they know better than Android. They run in the background, automatically quitting apps and removing them from Android’s memory. They may also allow you to force-quit apps on your own, but you shouldn’t have to do this.
Task killers aren’t just useless – they can reduce performance. If a task killer removes an app from your RAM and you open that app again, the app will be slower to load as Android is forced to load it from your device’s storage. This will also use more battery power than if you just left the app in your RAM in the first place. Some apps will automatically restart after the task killer quits them, using more CPU and battery resources.
Whether RAM is empty or full, it takes the same amount of battery power – decreasing the amount of apps stored in RAM won’t improve your battery power or offer more CPU cycles.
hope u understood!
words of wisdom by fellow-mates
go into settings - apps and see how many running apps you have. now go to cached apps and see there, how many apps there are. you see? nearly 50% of those apps discovered by you in the processes are apps that you didn't opened ever but they are still opened and running. why? because that's how linux manages its resources. instead of having free ram for no use (what's the point of having 14gb of ram when you only use 1gb), linux fills all the ram blocks with useful apps or apps that you are running frequently so that when you call that app, it will bring it on the screen almost instantly. this my friend, is called multitasking.
and no, you are wrong. if you use a task killer killing the apps every 10 minutes, the cycles the whole system does - opening again apps and caching them, task killer closing them - results in much more functions done by CPU => more battery spent. even if you say that the battery life its the same, you are wrong. when using a task killer IT MIGHT drain your battery with 0.1% per hour. it's not that much, but IT EXIST.
oh and yeah, one thing: android has its own task killer. that's why you don't need one app to kill your other apps. because android its doing it by itself. if you don't believe me, strip down one kernel, open the init.rc file and find the values for task killer.
I've never used those programs, I like to use what the phones have by default
But is good to know anyways
I agree with that...to an extent
Auto killing apps is plain stupid, but I do believe in killing certain apps. In a perfect world heavy apps would just be uninstalled, but plenty of useful apps without good replacements are fairly heavy, and it helps to kill them. E.g. after exiting a game I will kill it because its hogging up valuable ram by running in the background, while still using he same resources it uses at the forefront.
I understand that android, and Linux should manage ram well, but more often then not some app is just out there slowing my phone down. Even an hour later of not using that app, it'll still be in the background using up a lot of CPU and ram I don't have (more importantly battery). Android is great at managing smaller apps, but in my experience, it sucks at doing the same for larger apps.
Sent from my Desire HD using xda app-developers app
I don't use automatic task killers, those that are constantly running, but i do kill unused tasks and apps with no reason to be still running. Google services is a common example. It will launch at boot and keep running peemanently, even if you never launch a google app, google services is running, why?
A lot of apps, mostly the free ones, get revenue by reporting anonymous usage statistics (not so anonymous in some cases). So they stick a running service even if the app is never launched again (sometimes even if it isn't launched in the first place).
To sum up, killing everything is bad, but leaving everything to run free can also decrease performance. This can be observed on an android device that has been running for a long time, versus an android device that's just been reset.
some unused tasks will repeatedly rerun even if killed.
This will further decrease battery life and affect performance as resources are needed to keep restarting it.
The best way is to ignore if it takes a small portion of resources or to uninstall the app. Rooted users may disable the triggers via certain apps.
Sent from my GT-N7000 using Xparent ICS Tapatalk 2
In phones with very low RAM, this becomes a necessity.
Switching programs take up a lot of time to process unless there is a sizable free RAM
Markuzy said:
some unused tasks will repeatedly rerun even if killed.
This will further decrease battery life and affect performance as resources are needed to keep restarting it.
The best way is to ignore if it takes a small portion of resources or to uninstall the app. Rooted users may disable the triggers via certain apps.
Sent from my GT-N7000 using Xparent ICS Tapatalk 2
Click to expand...
Click to collapse
use auto run manager
it is the answer to most of every body's problems
DarthSimian said:
In phones with very low RAM, this becomes a necessity.
Switching programs take up a lot of time to process unless there is a sizable free RAM
Click to expand...
Click to collapse
if u have low RAM, please manually remove the apps!
dxppxd said:
I don't use automatic task killers, those that are constantly running, but i do kill unused tasks and apps with no reason to be still running. Google services is a common example. It will launch at boot and keep running peemanently, even if you never launch a google app, google services is running, why?
A lot of apps, mostly the free ones, get revenue by reporting anonymous usage statistics (not so anonymous in some cases). So they stick a running service even if the app is never launched again (sometimes even if it isn't launched in the first place).
To sum up, killing everything is bad, but leaving everything to run free can also decrease performance. This can be observed on an android device that has been running for a long time, versus an android device that's just been reset.
Click to expand...
Click to collapse
use autorun manager, keep it simple
dxppxd said:
I don't use automatic task killers, those that are constantly running, but i do kill unused tasks and apps with no reason to be still running. Google services is a common example. It will launch at boot and keep running peemanently, even if you never launch a google app, google services is running, why?
A lot of apps, mostly the free ones, get revenue by reporting anonymous usage statistics (not so anonymous in some cases). So they stick a running service even if the app is never launched again (sometimes even if it isn't launched in the first place).
To sum up, killing everything is bad, but leaving everything to run free can also decrease performance. This can be observed on an android device that has been running for a long time, versus an android device that's just been reset.
Click to expand...
Click to collapse
let me tell you something about google services...
when you installed your rom, you had to check two options from google services - location and another one.
if you are on stock, those options are available in settings also.
the google services are needed (you are running a google os, right?) because without it, the location feature will not work, the play store will give you headaches and not to mention, google now that needs that service like water.
if you kill that process over and over again you will not gain anything because that service will keep restarting it until you will give up. ah, you will loose a massive amount of battery if you do so
another thing, the google service is a system app. system apps have priority in resources so even if you kill now, as i said, it will restart after a few seconds because some apps that you are running are requesting that service.
as someone said here, yes, even I kill games after I stop playing, BUT, I do it from the task manager built in. Settings - Apps - Running apps etc.
1ceb0x said:
let me tell you something about google services...
when you installed your rom, you had to check two options from google services - location and another one.
if you are on stock, those options are available in settings also.
the google services are needed (you are running a google os, right?) because without it, the location feature will not work, the play store will give you headaches and not to mention, google now that needs that service like water.
if you kill that process over and over again you will not gain anything because that service will keep restarting it until you will give up. ah, you will loose a massive amount of battery if you do so
another thing, the google service is a system app. system apps have priority in resources so even if you kill now, as i said, it will restart after a few seconds because some apps that you are running are requesting that service.
as someone said here, yes, even I kill games after I stop playing, BUT, I do it from the task manager built in. Settings - Apps - Running apps etc.
Click to expand...
Click to collapse
if u dont want them to restart use, autorun manager
task killer
Well, i think a task killer is useful. It sometimes helps to speed-up the phone a bit.
snelle-eddie said:
Well, i think a task killer is useful. It sometimes helps to speed-up the phone a bit.
Click to expand...
Click to collapse
No that is wrong.....it consumes more ram it self
Sent from my One V
Normally to kill a process I use the Running Tab in Apps, If any recently opened app which I feel should be closed is open I kill it!Though I leave the google services untouched!
Stopped using Task managers and Battery saving apps long time ago!
Want to really save the juice? Try Under Clocking! and killing the bloatware(saves RAM too!)
I used to have a task killer but the more I killed apps, the slower my phone was, so I eventually ended uninstalling it.
great post. lots of usefull info!!
Instead of using a task killer to keep on eating your battery life, simply either delete the app or disable it in your system if it's a system out (eg: default browser, bloatware, etc).
https://play.google.com/store/apps/details?id=com.zomut.watchdog&feature=search_result
its good, but most android users atleaast ppl like me know which apps are usefull and which are not
cybervibin said:
its good, but most android users atleaast ppl like me know which apps are usefull and which are not
Click to expand...
Click to collapse
Assuming you are replying to me, your response is a bit ambiguous...

Annoying Auto-start Apps

I had given my old Android 2.3 phone and a fairly new Android 4.4 tablet to my kid.
Within about a month, both devices basically became non-functional on start up.
After some analysis, it became clear that all the games and recreational apps my kid installed was causing the problem: they were all built to auto-start on device boot up, and they lacked an option to tell them not to auto-start on device boot up.
Since both devices were rooted, I used a tool (Clean Master) that quickly identified the auto-start apps and stopped them from auto-starting.
My question is this:
Why would an app developer build an app that auto-starts with no option to disable that? Many auto start apps will just kill the usability of the device, and it isn't trivial finding out why.
If the device was not rooted, there's probably no way to stop these apps except to uninstall them. If Android allows a third-party app on a non-rooted device to auto-start, why isn't there an app that works on non-rooted devices to stop these apps from auto-starting?
Nate2 said:
I had given my old Android 2.3 phone and a fairly new Android 4.4 tablet to my kid.
Within about a month, both devices basically became non-functional on start up.
After some analysis, it became clear that all the games and recreational apps my kid installed was causing the problem: they were all built to auto-start on device boot up, and they lacked an option to tell them not to auto-start on device boot up.
Since both devices were rooted, I used a tool (Clean Master) that quickly identified the auto-start apps and stopped them from auto-starting.
My question is this:
Why would an app developer build an app that auto-starts with no option to disable that? Many auto start apps will just kill the usability of the device, and it isn't trivial finding out why.
If the device was not rooted, there's probably no way to stop these apps except to uninstall them. If Android allows a third-party app on a non-rooted device to auto-start, why isn't there an app that works on non-rooted devices to stop these apps from auto-starting?
Click to expand...
Click to collapse
Actually, there were non-root apps that could disable auto-start of other normal apps till JellyBean 4.2 I guess.
Then came the security enforcements which prevented this for non-root users.
Android assumes that an app necessarily needs auto-starting at boot for the smooth working of the app.
There's a reason behind that.
For example, if you disable auto start of FB messenger or WhatsApp, you won't automatically get notifications unless you open it one time so that certain services begin to run in background.
The same goes for your kid's apps like Talking Tom, which gives essential notifications (from a kid's point of view) like "I'm Hungry" or "I wanna pee" or something like that
But you have non-root apps too (you gotta dig a lil deeper to find them) which doesn't work like root apps, that is, doesn't disable them to start at boot. Instead, they stop the apps/services after booting that's disabled in that app.
Apps like CC Cleaner or the so-called antivirus apps work that way only

Categories

Resources