Hi,
I am developing a Tizen application using the .NET API that is targeted for the Gear S3. I am testing battery usage of the app and I am baffled at what I see. The app is designed to have a "always on" feeling - much like the Samsung Health application. This means that I am registering to the DisplayChanged and bringing back the app when the user turns the screen back on.
I have done a test where I leave my app running for 30 minutes and I find that this used up 22% of the battery which is much more than I expect. For my test I do the following: start the app and leave it running while the app is doing absolutely nothing - no worker thread, no timer, no UI change. I then let the display turn off after 10 seconds and leave the watch with the display off for the next 30 minutes. And this takes 22% battery. In comparison, I have left the watch running just the watchface for 30 minutes and it uses 2% on my watch - I have cleaned the watch of other apps, cleared the cache, restarted it, and am up to date in the updates.
My questions:
- Is there a known issue that .NET apps are more power hungry?
- Where could I find official guidelines regarding practices for power consumption? Specifically, my app needs to be able to always come back to the front every time the user wakes the display. As stated, I make sure that no code is running when display turns off by using DisplayChanged callback and alarms.
- I am comparing this with the Samsung Health app which is able to (1) also always stay on, (2) have a timer, (3) monitor GPS position, (4) monitor hearth rate, (5) monitor movement and still it uses less batery life than my .NET that is doing nothing (no GPS, no sensor, no timer). Samsung needs to give us clear guidelines on how to achieve this if they want the community to be able to develop awesome apps (and not just mediocre ones like a lot of what we see in the Gear store).
Thanks