brok85 / geohashdroid

Automatically exported from code.google.com/p/geohashdroid
0 stars 0 forks source link

GeohashService is draining my battery #24

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Start Geohash Droid.
2. Do something else.
3. Wait.

What is the expected output?  What happened instead?

When GeohashService is running, it seems to update the gps coordinates rather 
often. If I open Geohash to check the coordinates, and then 
open the home screen, my phone runs out of battery rapidly.

What version of Geohash Droid are you using?  On what phone?
0.8.0   SonyEricsson Xperia X10 / (1.0.14 / android 1.6)

Please provide any additional information below.

Make the service optional and/or make the update frequency tweakable .

(Great app though!)

Original issue reported on code.google.com by karl.pih...@gmail.com on 8 Jun 2010 at 12:11

GoogleCodeExporter commented 9 years ago
Hm.  Part of the thing is, the service is doing pretty well exactly what it's 
meant to do, keep the tracker running in the background if you don't quit the 
app (i.e. if you get a phone call, if you switch to something else, etc).  This 
is both to keep the hashpoint and your location in the notification bar and, 
later on, to help with tracklog building.  Except, of course, I'll admit that 
it's not very clear what the definition of "quit the app" is in this case, and 
that's probably pretty confusing.  Oops.  My mistake.

I think I might have a way I can change this, though, and it's most likely 
going to be similar to your suggestion about making the update frequency 
somewhat tweakable (only if you're not looking at the map or the detail screen; 
if you're there already, I'm always going to assume you want updates as soon as 
possible).  As in, turn down the updates if there's nothing explicitly 
listening for it besides the notification bar.

And I'll need to make it clearer what "quitting" means.  Though for right now, 
if you want to shut down the service, you can either press the back key or use 
the menu option for "Quit" (it should be under the More selection).  The 
problem there is that I needed some way to tell if you wanted to quit entirely 
rather than if you wanted to leave it going in the background or if the app got 
interrupted (phone call, most likely), so I chose the back key with the menu 
option as a backup.  If you press home, it'll keep it running in the background.

But yeah, I'll definitely look into toning down the updates if you're not at 
the map/details.  Thanks!

Original comment by captains...@gmail.com on 8 Jun 2010 at 3:21

GoogleCodeExporter commented 9 years ago
Here's a quick status update: In trunk right now, I've got a change to 
GeohashService which should slow down its updates to one every thirty seconds 
(give or take) to save power if you're not at the map or the details screen 
(or, more specifically, if nothing besides the notification is waiting for 
updates).  And it works fine on my Nexus One and my G1, but it doesn't work so 
well on the Droid.  It'll go to background mode, but it'll never come out of it 
when you return to the map.

I'm trying to dig into this to see if this is a bug in the Droid I'll need to 
work around, or if I'm just doing it wrong.  But rest assured, a background 
mode that doesn't take up quite so much battery power is on its way. :-)

Original comment by captains...@gmail.com on 10 Jun 2010 at 4:06

GoogleCodeExporter commented 9 years ago
Right!  I've got 0.8.3-pre3 available on the site right now.  That has the 
power saver functionality in it (if you're not at the map or the details 
screen, it slows down GPS significantly).  The only catch is that it doesn't 
work perfectly on all phones (notably, the Droid), so it's an option in the 
preferences screen with a warning popup on it.  Far as I can tell, I can't work 
around this; it seems to be a bug in the Droid's hardware that works properly 
with the Nexus One.

Would you mind giving it a shot and seeing if that helps?  I might add options 
to fine-tune it in later versions (right now, it acts on a 30-second delay 
between fixes).

Original comment by captains...@gmail.com on 11 Jun 2010 at 5:50

GoogleCodeExporter commented 9 years ago

Hello.

I've tried it and it is definitely an improvement. It's been running for about 
6 hours and the battery is at 50%. According to the battery usage screen, 
Geohash used up 60% of the battery during these 6 hours.

I guess that it's probably a bit more power usage than when doing nothing, but 
it's absolutely acceptable for the case when you forget to exit the app...

I can't really tell if it snaps out of power save or not, but that's perhaps 
because I am indoors and the reception is rather crappy.

Cheers!

ps.   A feature request :-)

I missed a close spot the other day. It was rather close, in the sea, about 500 
m outside the marina where I keep my boat - in which I actually spent the whole 
day maintaining. A quick geohash/test drive would have done may day :-)

Maybe it would be possible to have to set up an Intent with AlarmManager to 
check the position every hour or so, and create a notification if you are 
within a certain range of a location? Or maybe its a perfect excuse for me to 
write something for my phone :-)

Original comment by karl.pih...@gmail.com on 11 Jun 2010 at 1:48

GoogleCodeExporter commented 9 years ago
Ah, now, see, THAT feature is one thing I had in mind with the home screen 
widget idea, actually. :-) But, that's for later.  I've got tracklog 
functionality to write first...

But, with that, I think I'll have an 0.8.1 release later today (or this 
weekend), barring any last-second tweaks.  Thanks!

Original comment by captains...@gmail.com on 11 Jun 2010 at 3:56