I am indeed sleeping (I'll check out the other threads, thanks for the tip). From a battery usage perspective, I can't imagine that sleeping vs. alarm has any bearing though. Also, I forgot to mention that when the phone's screen turns off, my background service suspends itself (via Thread.sleep(99999999999999)) until the screen is turned back on, in which case the sleep get's interrupted and the thread continues. The net result is that the thread is only running (and consuming power, I'm assuming) when the screen is active.
I'm going to take Dianne's advice and do a more aggresive battery drain test, but if that turns out to not jive with the "usage meter", I think that I have chalk this one up to a really bad software approximation. On Oct 8, 1:40 pm, RichardC <richard.crit...@googlemail.com> wrote: > By running your background task every 2secs your are basically keeping > the phone permanently on. Even though your app is not using much CPU > it has to wake the phone from any sleep state every 2secs. So it > either will not allow the phone to sleep or mostly keep it awake. > Waking the phone will power up all hardware devices that are needed > from any low power state they are currently in and reset their sleep > timeouts. > > Basically any background tasks (something not associated with the > current foreground activity the user is interacting with) should only > wake up very infrequently (say greater then 60mins). > > Also are you sleeping in your background task or using an alarm > event. Sleeping is bad ... see lots of posts by Dianne Hackborn on > this very subject. > > -- > RichardC > > On Oct 8, 5:55 pm, dadical <keyes...@gmail.com> wrote: > > > > > I have an application that runs a background service. This background > > service wakes and runs once every 2 seconds. The background service > > registers as a listener with the orientation sensor with the lowest > > possible rate of event delivery (application). When my service thread > > wakes it uses the latest value delivered by the sensor events, so > > there is no heavy-weight processing being done on the sensor thread. > > Furthermore, the background thread is doing very light processing when > > it wakes. > > > I've done tests that show that my background thread poses very minor > > power overhead, somewhere around 3%. The test was basically: charge > > to 100%, leave phone on for two hours with service running, record > > battery level. Repeat with service off and compare. > > > However "Battery Usage" of my application is listed as some insanely > > high value (e.g., 40%). Over the same two hour period of the test, > > CPU usage was less than 3 seconds. > > > What does "battery usage" mean? In my case, it clearly isn't an > > indication of "battery drain", but that is what the stat seems to > > imply.- Hide quoted text - > > - Show quoted text - --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~----------~----~----~----~------~----~------~--~---