Why do so many apps start at boot?

FlareStorm

New member
Feb 25, 2012
3
0
0
So many downloaded apps start at device boot. Things like facebook, eBay, Tapatalk, gmail, camera apps. I don't see why these things are tied to starting at the device's boot...can't they just start when I touch the icon and quit when I exit?

I do understand that there are a myriad of apps where you can disable this behavior, I am looking for an explanation for why this happens. Is it just so the apps actually start faster when I want them? For notifications? It seems almost intrusive. What are the side effects of disabling these things from starting at boot?

Thanks for any info
 
Notifications is the usual answer, but there are a number of reasons depending on the app. Nothing particularly bad is going to happen if you disable them, and if something gets turned off that you don't want off you can always enable them again.
 
This is done (using the RECEIVE_BOOT_COMPLETED permission for the ACTION_BOOT_COMPLETED broadcast) when Android has finished booting in order to do something. In almost every case, this something is the initialization and start of a background service, but that doesn't mean the app has a component constantly running from that point on.

These services, if well-designed, spend a majority of their time inactive. When they're active, it's usually for operations with a sync adapter, one-time or ongoing notifications, or to bring up a visible component of the app. These actions are usually the result of receiving an intent broadcast, and so the background service is inactive until that time. An example: the Download Manager. The "Downloads" item in the launcher, outdated icon and all, is the user-facing portion of the download manager. Its background service is started on boot, but it (expectedly) does very little until you (or an app) initiate some sort of download using the built-in download manager.

Apps can schedule one-time or recurring alarms. These are different from Clock alarms; these are system alarms that send a broadcast intent when fired, allowing apps to be called at any time, even if the device is asleep, without having to keep the device awake and waiting. The problem? They're cleared at reboot. This means any app that wants to do something in the future needs to use the start-at-boot feature in order to reschedule its alarms. If it doesn't, don't expect it to provide you with updates, notifications, or anything else until you open the app at least once (it should have logic that checks to be sure its background service is running when the app is launched, and so it will update its lost alarms at that point).

If this weren't the case, your wake-up alarm in the morning would keep the device awake all night until it goes off. Not the most efficient approach...

Things like Clock, Media Storage, Android System, Sync Feeds, System Updater, Download Manager, and so forth should probably be left as-is, and there are certainly more I'm forgetting to include offhand. For any others, the impact on you will depend on what the apps want to do at boot (which they may or may not explain in their Play Store description when describing permissions requirements) and what logic the developers have implemented for the app to "catch up" if the service isn't running for whatever reason.
 
Ok, makes more sense now. I got that basically "why not load em up, fill up the ram with stuff in case you want to use it, and free it up as needed" Unused RAM is pointless....I was just stuck thinking that one would want as much as possible free because thats better for some reason
 
It's good to have a little free RAM because new processes can start faster since they don't have to close another process first. A hundred megabytes free is more than plenty, though. On a two-gigabyte device, you're hard pressed to fill that much RAM even if you try. In short, yeah, don't worry about it. Android manages all this in the background so that you don't have to.
 
Agreed. This is why devices with 2 GB RAM are so much zippier than those with 1 GB RAM. My past devices with 1 GB RAM usually had about 100-200 MB free RAM, so the system was always kind of treading water. My Nexus 5 with 2 GB of RAM usually has around 900 MB to 1 GB free, so things just fly.
 
Notifications is the usual answer, but there are a number of reasons depending on the app. Nothing particularly bad is going to happen if you disable them, and if something gets turned off that you don't want off you can always enable them again.

Yep.... notifications.... everyone wants their hooks into your notification service so Balloon Witch will start up a service on boot to tell you that you haven't played in three days. Most of the blasted things are useless. Most people really only need notifications from, what, a half dozen or so apps? Good news is that if they aren't filling your notification window, they're probably just sitting there, doing nothing. And if they ARE jamming you up, it's easy to get rid of them...... and your system is going to suffer no ill effects if you disable it.
 
OK, all makes sense, except I've got the Home Depot retailer app installed on Cyanogenmod 12.1. It seems to use "run at startup" permission like many similar apps but I don't wish it to run at start. So I check Privacy Guard for the app and I see that it doesn't list the permission. How does this happen?
 

Forum statistics

Threads
954,202
Messages
6,960,890
Members
3,162,943
Latest member
cardianthesafecard