• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Help Why are unwanted apps always running in the background? Android flaw?

All I'm seeing here is the OP trying to blame Android for a poorly coded app, instead of blaming the developer.

If only it were this easy.

First of all, Android's idiotic permission system changes means that, after Kit Kat, you need root to even read wakelock logs. Without root, apps like better battery stats etc won't be able to tell you which app is misbehaving and causing your phone to wake up from idle for no reason. Why on earth is root required, since we are talking about reading a log, not changing anything? And of course not everyone can / wants to root: you lose your warranty, work apps like good (to connect to work email) will not work, etc.

It is not Android's fault if an app was coded poorly and wakes up the phone. It is Android's fault that, after KitKat, one needs root to even identify this!

Over all I don't mind Android; I had an Iphone in the past and I'm not going back to apple phones. But this is idiotic nonetheless! or do you find it logical that, without root, one cannot even identify if an app is misbehaving and waking up the phone?

As for why an app wakes up the phone, I give up. You all blame the app saying the OS has nothing to do with it. As a final user, not a developer, not an expert, just someone who wants his phone to be efficient, I find it absurd that an OS even allows misbehaving apps to wake the phone up for no reason, and that there is no straightforward way to prevent it.

Changing the app is not always an option; with sat navs, for example, Tom Tom has the best traffic information for my area, information which is available only in the Tom Tom app and the Sygic app. The Tom Tom app is lousy and keeps crashing; the Sygic app is better, but wakes up the phone for no reason. Waze is OK in cities but doesn't work in areas with no signal (eg the countryside).

Doze was not made because Android is inefficient. It was made because Google understood that there are times we don't need everything running. If you go to bed, do you still need Twitter or your weather app polling every hour for the 7hrs you are asleep? No. That's where Doze comes in. Stamina mode just takes it further.
.

I guess we just have different opinions on this, I am afraid. If I go to bed and the only function I need is the alarm, I set the phone to airplane mode and it consumes almost zero battery overnight. If, for some weird reason, I need the phone to connect to the internet while I sleep, then why on Earth did it take Google what? 6-7 years to even introduce such a basic feature?
 
Simplest answer, disable or uninstall apps that offend thee...

Feasible only if you are rooted; if you are not, you cannot even identify the misbehaving app, let alone disable (I assume you mean freeze/hibernate ) it.
 
Disable with no root then
Leaving aside the fact that, without root, I cannot identify the misbehaving app, what do you mean by disabling without root? I'm not sure I am following. Greenify lets you hibernate apps and Titanium Backup and others let you 'freeze' it, but I'm not sure what can be done without root - other than uninstalling, of course.
 
Go to settings, go to apps, find the one's that you want to disable and choose clear cache, clear data, then disable. They will no longer run in the background. No root needed.
 
If only it were this easy.

First of all, Android's idiotic permission system changes means that, after Kit Kat, you need root to even read wakelock logs. Without root, apps like better battery stats etc won't be able to tell you which app is misbehaving and causing your phone to wake up from idle for no reason. Why on earth is root required, since we are talking about reading a log, not changing anything? And of course not everyone can / wants to root: you lose your warranty, work apps like good (to connect to work email) will not work, etc.

It is not Android's fault if an app was coded poorly and wakes up the phone. It is Android's fault that, after KitKat, one needs root to even identify this!

Over all I don't mind Android; I had an Iphone in the past and I'm not going back to apple phones. But this is idiotic nonetheless! or do you find it logical that, without root, one cannot even identify if an app is misbehaving and waking up the phone?

A lot of things became illogical after Android started beefing up security after it became popular and edited some permissions due to people with ill intentions. This was just one of the casualties. However, wakelock detectors can still be made to work without root. You just need to use a PC to interface with the phone via ADB or a proprietary software, and you can get access to it no root needed. Basically it's just manually inputting a command via ADB to the system. It's like plugging a switch to turn on a light because the switch was missing.

http://uzumapps.blogspot.com/2016/04/wakelock-detector-without-root.html?m=1

As for why an app wakes up the phone, I give up. You all blame the app saying the OS has nothing to do with it. As a final user, not a developer, not an expert, just someone who wants his phone to be efficient, I find it absurd that an OS even allows misbehaving apps to wake the phone up for no reason, and that there is no straightforward way to prevent it.

Because there is no way for Android to tell if the app waking up the system is legitimate or not. Tasker is an example. You can set it to do many things, even depending on time. If the phone is idle, or asleep, Tasker will wake it up to do it's predefined task. That is a legitimate example. A poorly coded up will just suddenly wake up the phone, and is triggered by nothing. And the OS has no way of telling if it's legitimate or not.

Changing the app is not always an option; with sat navs, for example, Tom Tom has the best traffic information for my area, information which is available only in the Tom Tom app and the Sygic app. The Tom Tom app is lousy and keeps crashing; the Sygic app is better, but wakes up the phone for no reason. Waze is OK in cities but doesn't work in areas with no signal (eg the countryside).

That's where features like battery optimizing on the new Samsungs, and an app like Greenify comes in. Basically, these work like extended features of Doze, blocking an app from opening when it's not in the foreground. Greenify does not need root. These come in because of poorly coded apps. This is one of the pitfalls of being open source. The OS itself works fine, but there is no regulation on the apps being made for it, hence a wide range of quality.

I guess we just have different opinions on this, I am afraid. If I go to bed and the only function I need is the alarm, I set the phone to airplane mode and it consumes almost zero battery overnight. If, for some weird reason, I need the phone to connect to the internet while I sleep, then why on Earth did it take Google what? 6-7 years to even introduce such a basic feature?

Because this was not really needed if apps were not waking up the phone every now and then. And not everybody wants to put their phone on airplane mode at night. As a person in the medical field, I need to be always available on call 24/7. But I don't want my email or Facebook updating and using up battery at night when asleep. I only need Viber, FB Messenger, calls and SMS active. Putting it on airplane mode rids me of that. Hence Doze is a new feature for saving as much battery as possible without going into airplane mode, and still be available online if need be.
 
Go to settings, go to apps, find the one's that you want to disable and choose clear cache, clear data, then disable. They will no longer run in the background. No root needed.
I do not have this option on my Sony Z3 running Kit Kat. The options I see are: force stop, uninstall, clear data, clear cache. None would help.
 
Greenify does not need root.
It works best with root. Only limited functionality was made available for non-rooted phones, and only recently.

Because this was not really needed if apps were not waking up the phone every now and then. And not everybody wants to put their phone on airplane mode at night. As a person in the medical field, I need to be always available on call 24/7. But I don't want my email or Facebook updating and using up battery at night when asleep. I only need Viber, FB Messenger, calls and SMS active. Putting it on airplane mode rids me of that. Hence Doze is a new feature for saving as much battery as possible without going into airplane mode, and still be available online if need be.

And this brings us back to what I consider a fundamental flaw in the design of the Android OS: on a Windows PC, if I close an email client, I can be sure that it won't start and start connecting to the internet by its own. Yes, Windows is far from perfect, I hate many aspects of it, it is not transparent in many ways etc etc etc, but, unless it's some kind of virus/malware etc, I can be sure that, if I close an email client, it won't start up by its own when I don't want it to.

Ensuring the same in Android is, if not impossible, certainly more cumbersome and has a certain probability of failing. You could freeze/hibernate the app, but only if you'#re rooted; you could set disable auto refresh/push, which is inconvenient if you have to fiddle through pages and pages of settings.
 
It works best with root. Only limited functionality was made available for non-rooted phones, and only recently.



And this brings us back to what I consider a fundamental flaw in the design of the Android OS: on a Windows PC, if I close an email client, I can be sure that it won't start and start connecting to the internet by its own. Yes, Windows is far from perfect, I hate many aspects of it, it is not transparent in many ways etc etc etc, but, unless it's some kind of virus/malware etc, I can be sure that, if I close an email client, it won't start up by its own when I don't want it to.

Ensuring the same in Android is, if not impossible, certainly more cumbersome and has a certain probability of failing. You could freeze/hibernate the app, but only if you'#re rooted; you could set disable auto refresh/push, which is inconvenient if you have to fiddle through pages and pages of settings.
I don't see how disabling auto refresh inconvenient when you want to set it that way and no, you don't have to fiddle with pages and pages of settings. Just go to your email app, settings, disable auto refresh. You want it to manually refresh anyway. And it asks you how often you want to be refreshed on setting up anyway, hence removing that fiddling through pages and pages of settings. You just do it once the first time, and no need to do so again.

Also, closing an email client on Windows DOES NOT stop it from running in the background. I think you are confusing looking at emails on a browser to using an email program on Windows. The email app on Android works like Outlook and Thunderbird. They work in the background on closing.

I fail to see your issue here. You are given options on how to do what you want to achieve, but you seem to be arguing that Android should be doing it by default. Others would be in conflict with you, where they would want the current behaviour of email apps to be running in the background updating by default.
 
And this brings us back to what I consider a fundamental flaw in the design of the Android OS: on a Windows PC, if I close an email client, I can be sure that it won't start and start connecting to the internet by its own. Yes, Windows is far from perfect, I hate many aspects of it, it is not transparent in many ways etc etc etc, but, unless it's some kind of virus/malware etc, I can be sure that, if I close an email client, it won't start up by its own when I don't want it to.

If we're just talking about email clients, you're probably right. But there are plenty of apps on Windows which continue to run (permanently or periodically) in the background after the user-facing component has been closed.

These are just the obvious ones on my work computer right now:
upload_2016-7-28_8-31-26.png

Of those, only Outlook is actually in the foreground.

On the other hand, there are also plenty of Android applications which will happily remain dormant when you don't have them in the foreground. To say that either scenario is due to the design of the OS is not accurate.

The apps get to choose how, when, and with what visibility they run. Some may give the user control to change that, but many will not.

That's not something that either OS can fix; it's entirely up to the application developers to drink code responsibly.

Aggressive task/application/memory management (either built-in or third-party), sleep management solutions (for lack of a better term) like Doze or Stamina, and even utilities like Greenify are all different ways to treat the symptoms but only the application developers can actually address the cause.

If an app repeatedly abuses your battery, try contacting the developer. They may have ideas for settings changes that could help, or may be willing to investigate possible solutions on their end. If they are still unable (or unwilling) to address your concerns, find another app to use.



Trying to make Android stricter about what apps are allowed to run in the background in order to address a few misbehaving apps built by lazy developers would be like burning down your house because there was a spider in the bathroom.

I have many applications I expect to run in the background or to periodically wake to check things. I've used several phones from manufacturers who implement strict process management controls, and I quickly become frustrated when the majority of my applications don't function as I expect them to. Sure, nothing's misbehaving in the background, but to me the cost simply isn't worth it.

Why should my experience have to suffer because of a few lazy devs whose apps I don't even use?
 
If we're just talking about email clients, you're probably right. But there are plenty of apps on Windows which continue to run (permanently or periodically) in the background after the user-facing component has been closed.

These are just the obvious ones on my work computer right now:
View attachment 107773
Of those, only Outlook is actually in the foreground.
The difference is that, unless it's a malware/spyware/scamware, in Windows you can get rid of these processes. It may not always be as straightforward as it should be, but you can kill the processes in the task manager and you can use a simple tool like CCleaner to make sure the apps you don't want don't start automatically. No comparable option exists in Android.

On the other hand, there are also plenty of Android applications which will happily remain dormant when you don't have them in the foreground. To say that either scenario is due to the design of the OS is not accurate.

The apps get to choose how, when, and with what visibility they run. Some may give the user control to change that, but many will not.
Exactly!



Trying to make Android stricter about what apps are allowed to run in the background in order to address a few misbehaving apps built by lazy developers would be like burning down your house because there was a spider in the bathroom.

Wouldn't it be so much better for everyone if there were simple options like:
  • defining which apps can run when the phone starts
  • leaving an app in the background
  • killing an app and making sure it doesn't start on its own unless the user explicitly starts it again
Is Android the way it is because its architecture derives from Unix/Linux, ie from systems which were never designed to run on mobile devices and which therefore never saw battery optimization as a priority? If Android were to be redesigned from scratch now, would it still be designed the way it is?
 
Is Android the way it is because its architecture derives from Unix/Linux, ie from systems which were never designed to run on mobile devices and which therefore never saw battery optimization as a priority? If Android were to be redesigned from scratch now, would it still be designed the way it is?
Android runs on the Linux kernel, but Android is still very different from the other Linux-kernel-based operating systems that you may be thinking of. The kernel itself is very small and minimal. It provides the interface between hardware (processor, memory, radios, lights, buttons, etc) and software (the OS and any apps that run on it), and really that's about it. Everything else that is Android was built on top of that customized Linux-based kernel specifically for the purpose of running on a mobile device.

This isn't just a case of squeezing Ubuntu onto a mobile device; Android was built from the ground up to run on mobile devices.
 
I don't see how disabling auto refresh inconvenient when you want to set it that way and no, you don't have to fiddle with pages and pages of settings. Just go to your email app, settings, disable auto refresh. You want it to manually refresh anyway. And it asks you how often you want to be refreshed on setting up anyway, hence removing that fiddling through pages and pages of settings. You just do it once the first time, and no need to do so again.
It depends on the app! In some app the relevant setting may be hidden behind pages and pages of settings.


Also, closing an email client on Windows DOES NOT stop it from running in the background. I think you are confusing looking at emails on a browser to using an email program on Windows. The email app on Android works like Outlook and Thunderbird. They work in the background on closing.
You are mistaken. It is true that in some apps, eg skype, clicking the X in Windows minimizes it instead of closing it, but it is also true that the option exists to exit the app, which in turn makes sure the app doesn't run when you don't want it to. No similar option exists in Android.

I fail to see your issue here. You are given options on how to do what you want to achieve, but you seem to be arguing that Android should be doing it by default. Others would be in conflict with you, where they would want the current behaviour of email apps to be running in the background updating by default.
I would simply like the option to distinguish between minimising an app and leaving it in the background, and closing it and making sure it doesn't start again unless I want it to. This option does not exist in Android.
 
You are mistaken. It is true that in some apps, eg skype, clicking the X in Windows minimizes it instead of closing it, but it is also true that the option exists to exit the app, which in turn makes sure the app doesn't run when you don't want it to.
Not always true, and - again - it's up to the application to give you that option. If the app decides that it will continue to run as a background service even though you clicked the X, it will do so. You'd have to go to services.msc to manually stop it.

Just like on Android, if an app chooses it wants to still run in the background and not give you any control over that, you'll have to go into the application management and Force Stop it.
 
Not always true, and - again - it's up to the application to give you that option. If the app decides that it will continue to run as a background service even though you clicked the X, it will do so. You'd have to go to services.msc to manually stop it.

Just like on Android, if an app chooses it wants to still run in the background and not give you any control over that, you'll have to go into the application management and Force Stop it.

The point remain that in Windows you can terminate the program; maybe it's not always as straightforward as it should be, but it is possible. In Android it is not.

We have reached a standstill: I find this aspect of Android crazy, you don't. I don't think there's much more we can add to the discussion...
 
My device is the old Note 3 (N-9005) running latest available 5.0 Lollipop (non-rooted)

I was, like OP pissed by loosing 6-8 % overnight. No FB or Snap installed, scheduled night off on stock email and weather app. Other apps, like news/reddit app set to not refresh unless opened. Btw, 200+ apps installed including Whatsapp.
I ended up using App Ops Starter to monitor app behaviour and permissions, concluding Google Play Services (Location) was eating my battery. Disabled it, at no consequences (my google/browser etc location is also disabled) and for the last 6 months or so...my phone loose 1 % juice overnight...reliably. During daytime, I loose typically 1-2 %/hour in stand-by and 4-5 hour SOT. No additional battery optimizing app or task killer used.

That's pretty good with stock battery and Charger Connect Counter showing 5500 connections.
Will be replaced by Note7 :)
Just my 5 cent

Edited: added stand-by for clarification
 
Last edited:
Btw, this is an example of an idiotic implementation of an app (Good work, used to connect to work email) without the option to exit and close it (unlike its predecessor Good for Enterprise). Users in this case have no alternative, since it's their IT departments which choose which apps can work on corporate email. I think the app was coded poorly, but I also think it's Android's fault for facilitating this kind of poor behaviour by apps.

https://community.good.com/thread/8519
 
Wouldn't it be so much better for everyone if there were simple options like:
  • defining which apps can run when the phone starts
  • leaving an app in the background
  • killing an app and making sure it doesn't start on its own unless the user explicitly starts it again

No, because as already explained many so-called "unwanted apps" are actually child processes called by another wanted app. Just wading in and disabling anything that seems unusual is a recipe for disaster in an OS that relies heavily on dependencies.

Modern smartphones are converged communication devices, and many apps rely on regular activity to do their job. Email, social media, news, weather... all these can poll frequently for updates and/or utilise geolocation information to provide personalised content. If configured to do so then they will run regardless of the user's wishes, as they're not mind readers. Nor is Android, despite the massive improvements seen in resource management since Cupcake (Android 1.5). The best smartphone in the world still can't tell what its user

I think the app was coded poorly, but I also think it's Android's fault for facilitating this kind of poor behaviour by apps.

It's an email client... its job is to check regularly for email. If the developer has implemented behaviour that you don't like then take it up with him, but don't blame Android for it. It's easy enough to put an "exit" or "quit" option in a menu.
 
The point remain that in Windows you can terminate the program; maybe it's not always as straightforward as it should be, but it is possible. In Android it is not.

Except for the previously-mentioned aptly-named Force Stop.

That does pretty much the same thing as any automated task killer - it forcibly stops the app from running. The app may restart later (usually as a result of being called by another app, as @Slug mentioned) - but, again, this isn't really any different from Windows in that sense.

I don't think there's much more we can add to the discussion...

We're likely in agreement there. :D

I hope that we were at least able to help you understand how Android works, even if you don't agree that it's an approach which makes sense. :)
 
Back
Top Bottom