Just to explain a bit about what those apps are really doing when they look like they are turning themselves on all the time:
The Android OS has a list of "events" (called Intents) that it broadcasts when various things happen (such as Wi-Fi being enabled).
Apps are then allowed to "register" what's called a Broadcast Receiver to "listen" for the events.
When I say "listen" though, it's only in the metphorical sense, they dont do anything to actively listen or run. Instead, what happens is the Android OS will send out the event (called an Intent), and it will check a list of apps that have said they would like to be "woken up" and notified when that event occurs.
So in the example used above with doubleTwist, what is likely happening is that it registered for the WiFi-enabled Intent and is being woken up whenever your WiFi connects or re-connects.
This might seem like it could really use up resources, but in reality it doesnt. BroadcastReceivers are very simple tiny peices of code.
Going back to our doubleTwist example, what the code might look like:
And that's it. It would use probably something like 0.00001% of your battery.
But the features it enables, are almost limitless. It gives apps very good ways to help the user automate things, help be polite to a user and not use up their 3G connection, and so on and so fourth.
Now of course not all apps are polite, and the way Dalvik handles processes, threads and services can be pretty complicated for any non-programmer to follow. However, hopefully this explanation will at least shed some light on Broadcast Recievers.
Anyways, it might be time to add a new guide to my list and I'll see if I can explain all those things in simple terms.
The basic components are:
-Activities
-Services
-BroadcastRecivers
-Intents
-Processes
-Threads
And while 99% of the time a task killer will do more harm than good (especially in Froyo and above), I will admit that Google made a serious error with regards to user experience (UX) design in explaining this. From a new user perspective, it looks as if all apps are all behaving badly all the time (hence why we get these posts). While in reality, badly behaved apps are actually few and far between. But it can be hard to tell the difference.
Also a good thing for new users to be pointed towards is the "what's been using the battery" feature in Android.
Home > Settings > About Phone > Battery use
anyways, hth.
The Android OS has a list of "events" (called Intents) that it broadcasts when various things happen (such as Wi-Fi being enabled).
Apps are then allowed to "register" what's called a Broadcast Receiver to "listen" for the events.
When I say "listen" though, it's only in the metphorical sense, they dont do anything to actively listen or run. Instead, what happens is the Android OS will send out the event (called an Intent), and it will check a list of apps that have said they would like to be "woken up" and notified when that event occurs.
So in the example used above with doubleTwist, what is likely happening is that it registered for the WiFi-enabled Intent and is being woken up whenever your WiFi connects or re-connects.
This might seem like it could really use up resources, but in reality it doesnt. BroadcastReceivers are very simple tiny peices of code.
Going back to our doubleTwist example, what the code might look like:
Code:
if (WiFi==true)
{
checkToSeeIfMusicNeedsSyncing();
}
else
{
//shutdown
return;
}
But the features it enables, are almost limitless. It gives apps very good ways to help the user automate things, help be polite to a user and not use up their 3G connection, and so on and so fourth.
Now of course not all apps are polite, and the way Dalvik handles processes, threads and services can be pretty complicated for any non-programmer to follow. However, hopefully this explanation will at least shed some light on Broadcast Recievers.
Anyways, it might be time to add a new guide to my list and I'll see if I can explain all those things in simple terms.
The basic components are:
-Activities
-Services
-BroadcastRecivers
-Intents
-Processes
-Threads
And while 99% of the time a task killer will do more harm than good (especially in Froyo and above), I will admit that Google made a serious error with regards to user experience (UX) design in explaining this. From a new user perspective, it looks as if all apps are all behaving badly all the time (hence why we get these posts). While in reality, badly behaved apps are actually few and far between. But it can be hard to tell the difference.
Also a good thing for new users to be pointed towards is the "what's been using the battery" feature in Android.
Home > Settings > About Phone > Battery use
anyways, hth.
Upvote
0