osmandapp / OsmAnd

OsmAnd
https://osmand.net
Other
4.38k stars 988 forks source link

Battery drain #9928

Open rebastion opened 3 years ago

rebastion commented 3 years ago

I love OsmAnd (using the plus/paid/live version), but I find it to be almost unusable in the wild, because it drains my phone battery faster than I can hike a short trail.

It is hard to pin this down. I am not actively recording the route, I have enabled infos on the map relevant for pedestrian (trails, landscape features, points of interest, topography, etc) and I even have a medium battery optimization mode on on my phone (Samsung S8), but still... I would say the app drains the battery in about 1-3h.

I realize how bad a bug report this is, but maybe helpful for the devs to generally look into battery-optimization as a really really important core feature of an app that is used far away from power outlets :+1:

Noitarud commented 8 months ago

I have a CPU usage app (CPU stats) which gives a graph in notification area. Reports Max during navigation only. The only option that makes a difference that I found is changing "map rendering engine" to Version1, which doesn't explain why V2 works without navigation. ("Map during navigation" doesn't seem to do anything). Well lets see if @cloganklr gets a better solution.

N.b. "Animate my position" (found in: Left wall menu/settings/driving(profile)/general/AOP)

sonora commented 8 months ago

@cloganklr "Street name" may deserve a try. If I am not mistaken, it requires continuous reverse geo-coding lookup, and that could perhaps be rather resource-intensive code...

josail commented 8 months ago

Mayby calculating neighbouring tiles (3x3 screens, the current one in the middle of the 9) would be a means to reduce continuous lookups and recalculations of the map display, including the "street names"? In such a system only 3 maps of screen size need to be recalculated, when the border of the previously calculated center screen is crossed, i.e. not continuously, but only once in a while.

2. calculates neighbouring areas / tiles so that moving [small distances on the map] does not require recalculation every other second (this is a feature applied to my knowledge in tile based apps in order to significantly reduce the need for online download events, and could also serve to significantly reduce the frequency of rendering/recalculation needed in OsmAnd)