Controlling "Apps Gone Wild" in the background on 2.2
Here's what I found...
After upgrading from 2.1 to 2.2, initially it seemed that various apps just seemingly were trying to run in the background. After some investigation, I realized its possible to prevent this battery sucking madness from occurring.
Its not exactly perfect, but at least I don't have a boatload of apps constantly running and it seems closer to how my EVO was running with 2.1. I was getting approximately 13-16 hrs of usage time on a single charge...I don't have enough experience after performing these changes to provide any salient comparison data. But I can say that without a doubt, there are less apps constantly running.
Here are some things to look at and consider.
[1] Turning off >>settings>>account & sync>>"Background data" does not act as a "GLOBAL setting". Keep in mind it seems that the data update and sync process are what cause the apps to run in the background. And it seems each app is governed independently and there is no way uniformly control that behavior by one global setting. Once I realized this I was able to look at each offender.
[2] In the same setting section, under "Manage accounts" even though you may not have New, Stocks or Weather enabled, it seems that you might need to manually set the update frequency to never or the longest interval possible. It maybe possible that while you don't have these accounts enabled it just seems to follow the settings.
[3] Likewise, you need to check in the task manager to see which app seem to constantly run wild in the background. These apps also seem to have individual update frequency settings when you open the app (some in obvious settings some not). Some allow you to set update only upon start of the app.
[4] In some cases some apps keep you logged in when you close the app like Qik...it's a pain in the butt to login each time, but if you logout, at least the app doesn't try to periodically update its data all the time.
[5] If you reset the EVO to factory defaults and re-installed the apps in bulk and didn't run the app after the install, this can cause some apps to try to continuously "call home" or look up there GPS location in the case of some geo-location app to initially setup the app. So go and access each app that you see randomly, constantly running in your task manager. As an example, I opened Aloqa and let it initially set my GPS location. After that I think the app uses the last known location, so it lessens its need to constantly initialize itself.
[6] Android is a Linux system, so I guess some processes managing apps are probably governed by init and inittab, so it keeps starting up not matter how many times you might kill it from a task manager. Again check for the offenders in your task manager and see if these are processes that are started up by default in settings>>applications>>Running Services. Obviously it can be a pain in the butt to have to stop the process if you reboot each time, since Android doesn't allow you to control which app process starts by default. As an example here, I prefer using K9 as a mail client, so I killed the default mail client and set the email downloads according to K9 frequency rates.
Again, this is not a perfect strategy, and you still will see some apps still turn on even though you might have followed some of the steps outlined here. I'm only speculating, but since many of the apps just use "reusable components". One app designed for one function might call on an a core Android API to perform some other function. Hence some apps might cause a whole boat load of seemingly unassociated apps to run periodically.
Gook Luck!