98
Charts
- Boxplot of SOT on stock vs. GOS
- Complete visualization of SOT on stock vs. GOS
- GOS SOT over a month
- Stock SOT over a month
Conclusion
- On my Pixel 8, stock seems to offer better battery life compared to GrapheneOS, with a mean SOT of 06:51 on stock, versus a mean SOT of 06:03 on GOS.
- I can't be sure where the difference in battery life is coming from, but it may be due to stock's adaptive battery function that is not available on GOS.
- However, the slight increase in battery life on stock is not worth the amazing privacy and security benefits that GOS provides over stock, so I will be sticking to GOS.
Context
- I wrote a similar post to this one based on the tracking and analysis I did while I tested out stock Android before switching to GrapheneOS (Lemmy), and I wanted to complete my battery tracking by also seeing how GOS battery life compares to stock Android.
- Similar to my testing while on stock, I used my phone as normal on GOS, with the below configurations:
- LTE only (I don't have a 5G plan)
- 120hz refresh rate
- Owner user, with separate work profile managed by Shelter
- Sandboxed Google Play Services enabled for both main profile and work profile on the owner account
- Dark mode
- Bluetooth on, always connected to my Galaxy Watch 6 Classic and very often connected to other BT audio devices
- With the above configurations, I used the phone normally, then took screenshots once I got the low battery warning notification at 20%. I started including the screenshots for the per-systems screen after seeing that the
SYSTEM (IDLE)
stats would be useful to track, but since I only have these datapoints for 11 charging cycles on GOS, I've excluded them from the analysis, although I am including the per-systems battery usage screen for reference.
Personal usage patterns & use-case
- I try to achieve a balance between privacy and convenience, so I am using Sandboxed Google Play Services and only use one user. However, I minimize unnecessary permissions and try to install only FOSS apps on my main profile while installing as many proprietary apps into my work profile as possible.
- The way I used my phone across stock Android and GOS was quite similar, although I did try to take advantage of GOS features whenever possible, such as enabling memory tagging, toggling off network permissions for apps that don't need them, etc.
- Depending on your privacy threat model, you can use a more strict setup without sandboxed Google Play Services, which may actually decrease battery life due to constantly active web sockets, or you may use multiple users to compartmentalize different apps into different profiles, which may save more battery versus my compartmentalization via Shelter.
Notable observations
- Although I got less SOT in general using GOS, I was still able to push the SOT past 9 hours with an idle time of 26:58 on my heaviest day (link), which is amazing battery life.
- Streaming music on Spotify seems to be a huge battery hog, and other Pixel users have noticed the same (link). The worst SOT I got, which was 02:13, seems to be largely due to at least an hour of music streaming on Spotify.
- On a related note, the background time tracking of Spotify is unreliable, as there were days when I was streaming music for about an hour (link), which led to a 10% battery decrease, but the battery usage screen says Spotify was active in the background for less than a minute (link).
Data & screenshots
date | OS | SOT (h) | main | full_apps | full_systems |
---|---|---|---|---|---|
2024-02-21 | Stock Android | 07:26 | link | link | - |
2024-02-24 | Stock Android | 06:59 | link | - | - |
2024-02-26 | Stock Android | 05:07 | link | - | - |
2024-02-28 | Stock Android | 05:22 | link | link | - |
2024-03-02 | Stock Android | 03:56 | link | - | - |
2024-03-04 | Stock Android | 05:10 | link | - | - |
2024-03-05 | Stock Android | 07:16 | link | link | - |
2024-03-06 | Stock Android | 04:56 | link | link | - |
2024-03-08 | Stock Android | 04:31 | link | link | - |
2024-03-09 | Stock Android | 05:26 | link | link | - |
2024-03-11 | Stock Android | 08:06 | link | link | - |
2024-03-12 | Stock Android | 10:24 | link | album | - |
2024-03-14 | Stock Android | 02:33 | link | link | - |
2024-03-16 | Stock Android | 04:28 | link | link | - |
2024-03-18 | Stock Android | 03:55 | link | link | - |
2024-03-20 | Stock Android | 06:34 | link | link | - |
2024-03-22 | Stock Android | 05:41 | link | link | - |
2024-03-23 | Stock Android | 07:35 | link | link | - |
2024-04-16 | GrapheneOS | 04:16 | link | link | - |
2024-04-18 | GrapheneOS | 05:29 | link | link | - |
2024-04-19 | GrapheneOS | 04:20 | link | link | - |
2024-04-21 | GrapheneOS | 03:04 | link | link | - |
2024-04-23 | GrapheneOS | 05:12 | link | link | - |
2024-04-24 | GrapheneOS | 02:13 | link | link | - |
2024-04-26 | GrapheneOS | 04:56 | link | link | link |
2024-04-27 | GrapheneOS | 09:03 | link | link | link |
2024-04-29 | GrapheneOS | 05:56 | link | link | link |
2024-05-01 | GrapheneOS | 04:03 | link | link | link |
2024-05-03 | GrapheneOS | 07:13 | link | link | link |
2024-05-05 | GrapheneOS | 03:20 | link | link | link |
2024-05-08 | GrapheneOS | 08:45 | link | link | link |
2024-05-11 | GrapheneOS | 04:27 | link | link | link |
2024-05-13 | GrapheneOS | 06:09 | link | link | link |
2024-05-15 | GrapheneOS | 02:56 | link | link | link |
2024-05-16 | GrapheneOS | 04:45 | link | link | link |
![](https://lemmy.world/pictrs/image/fd5f46f3-b9c2-4cae-9525-8ce4e9929407.png)
I agree, there's so much variability in daily usage patterns, so SOT isn't a great metric, as I noted in another comment. Still, it can be useful, and that's why I waited until gathering at least 15 charging cycles per OS so that I can minimize daily variability by increasing the sample size. I also wanted to incorporate idle time in the analysis, but I only tracked idle time for 11 cycles on GOS, so I couldn't include the idle dimension in the comparison. Plus, my Pixel 8 is my daily driver, so I would have been phone-less for 2 months, which is not realistic.
This is just me using my phone as usual, with all apps and services that I usually use. It would have been more statistically accurate to test out the OSes in a vacuum without anything installed but the bare OS to eliminate confounding variables, but that wouldn't be representative of what it's like to actually use both OSes on a daily basis, so I tested both while using both normally as I would.
Yes, I also noted the same in my post:
And I used to get insane battery drain from Signal's websockets when I was using Lineage without GApps (link), which was one of the biggest reasons for me to use sandboxed Play Services.
Do you use Signal and other messaging apps on your device? What's your average SOT?