I did several things to increase the battery life on my Nexus 4 phone. Here's a list of all the things I did. I am not sure exactly what led to the biggest improvement in battery life because I didn't do extensive testing at each step. Here they are:
Unlock, custom ROM, packages
- Unlock, install ClockworkMod Recovery, install CyanogenMod 11 and Google Apps.
- Install the hells-Core kernel from ClockworkMod Recovery.
- Install the Hellscore Kernel Manager
- Install the Greenify app.
- Install the BetterBatteryStats app.
- If you can, delete the Facebook app and use Facebook in your browser instead.
- Disable notifications and auto-updating/auto-syncing in as many apps as you can.
- Look at what is using the most battery under "Setings->Battery" and remove any apps that you don't actually need.
- If you can, disable Google Now and Google Location Reporting (found in "Settings->Location").
- Put "Location->Mode" into "Battery saving" mode
- Under "Settings->Sound" disable "Touch sounds", "Vibrate on touch", and "Screen lock sound"
- Under "Settings->Language & Input->Android Keyboard (AOSP)" disable "Sound on keypress" and "Vibrate on keypress"
- In the Hellscore Kernel Manager, set the CPU "Min Freq" to 94 MHz.
- After recharging your phone and using it for a whole discharge cycle, look at Partial Wakelocks in the BetterBatteryStats app.
- Using the Greenify app, Hibernate as many of the apps that show up in the "App Analyzer" as you can.
- In "Settings->Display & lights->Brightness", set to "Auto" and then click the gear to configure. Enable "adjust to sunrise and sunset". Click "Adjust" and move all the sliders to the left by about 5% or so.
- Get a watch so you don't have to wake-up your phone to check the time.
Now I can get about 48 hours on one charge with minimal usage (checking email once in a while, sending a few messages, checking a few web pages.