I love Android phones but I don’t always enjoy the short battery life that I get on my phones. I hate that I have to charge my phone at least 2 times a day if I want to use it the way I want (always browsing the web, checking Facebook, watching Youtube, and have some background tasks running all the time)
I do not run heavy games or apps that require a lot of processing power so I thought I could use the flexibility of Android to get more hours from one charge.
I have a Oneplus One. Here are the specs of that device. Basically it has an average battery capacity and screen size. So there is nothing special about the hardware that makes this possible.
What I did:
- Flashed to the latest CyanogenMod ROM CM13
CM13 is the beta Marshmallow (Android 6.0) for Oneplus One. Android M is known to have a good battery optimization by the newly introduces Doze mode. This optimization works on most apps when the phone is stationary and the screen is off for sometime where the system attempts to conserve battery by restricting apps’ access to network and CPU-intensive services.
This is great but my problem is mainly that the phone drains the battery very fast while the screen is on. To solve this here comes the next step
- Flashed a custom Kernel
I researched and tried a lot of kernels that are (can be) optimized for better battery. I decided to use Boeflla Kernel. This kernel stays very close to stock kernel to avoid major issues, but it allows a good level of customization. Boeflla kernel also comes with a configuration app, that makes it easy to create different profiles and change the values.
- Created a battery saving profile
In this profile I underclocked the CPU and GPU and undervolted CPU.
I also changed the CPU governor to a more power conservative governor.
Here are some screenshots of my profile:
DISPLAY + LED:
I only changed input boost frequency [MHz] to 883
System tweaks: Boeffla tweaks