Android is really an awesome OS (in my opinion) it’s somewhat the Windows under the mobile OS because you can customize it how you want (when your device is rooted). Some people still believe that an application such as AdGuard, NetGuardm NetDNS or AdBlock Plus help you to reduce the battery drain. This is simply wrong due several reasons. We will check in this article what is really causing the drain and what you can do about it.
The reason why battery drain mostly happen
CPU cycles are important when it comes to the drain. In general CPU power is generally directly proportional to the rate of changes (e.g. clock frequency) of a CPU. This is true when CPUs had no internal clock management and it ran all functions full clock speed all the time. It’s hard to measure these days, so many parts of the CPU operate on different clock domains and of course if you are considering the CPU board as opposed to the CPU chip even greater ranges of operating frequencies are encountered. Many parts of the CPU board are optimized and individually clocked for frequency required to minimize the power yet achieve the performance required. Even within a CPU chip some parts are dynamically clocked slower and faster when the computing load changes. I won’t go at this point in more details now because you only have to know that clocks and cpu cycles are the things which draining your battery.
Marketing is a key these days, tell a lie long enough till everyone believe in that or take that as a ‘source’ for research – cancer. Some clever developers abusing this to make you believe that installing Adblockers or battery analyzer apps helping you to solve the main issue, this is simply garbage. This won’t stop anything and it ends up with even more battery issue because such applications also running in the background all the time or even worse there bad coded or introducing security holes while your phone is rooted.
Stopping connections to certain domains help – right? Wrooooong!
In theory people believe that whenever there is an internet request it would helpful to ‘stop’ or block it by disallowing the connection. This is wrong because it not make your app stop trying it again and again and again. In most cases a plain and good old hosts file is enough and does the same as a app which is constantly running in the background or eats your device space.
Let’s check it! Mydealz is a popular app and it’s very often downloaded.
Popular apps like MyDealz or ProShot using services and receivers to e.g. allowing you to login with your Facebook account or to deliver their advertisments – nothing new?! Right but here is the kicker, such intents are executed regularly which means in the mydealz app example it tries to login into Facebook every 5 seconds, if you use Facebook or not it doesn’t care and tries it again and again which then ends up wasting energy and you’re cpu never goes into sleep – that’s bad coding.
An adblocker simply never manipulates other applications, it does block domain request yeah but in our example it won’t prevent the mydealz app to do this over and over again. And this is the reason why adblockers are overrated. It not solves bad coding or battery drains like this by cutting the behavior.
What can you do to really get the maximum out of your battery?
There rules, I mention them now to make it easy:
- Install as less apps as possible
- Review the apps and check if there including in-app or advertisements
- Install programs like 3C ToolBox Pro or ServicesDisabler to verify that the developer holds what he promises, even Pro apps often are bundled with ads services because there lazy and use the same app as free and pro version.
- Cut the services and receivers manually yourself, which could end up with crashes but it’s trial and error, you can re-enable it and start over.
- When your battery is old then try to replace it, it was discovered recently that the device performance and battery life are an important factor
- Calibrate your battery only once after you upgraded your OS, which means that Android then ‘better’ calculates the remaining power – usually Android does that on his own but sometimes the calculation process crashed, is simply wrong or bugged
- Freeze unneeded apps, instead of uninstalling them you could freeze them so that they won’t run anymore in the background
- Same like in Windows, check the startup permission, which prevents not used apps from starting during the boot
- Check permissions for all apps, including system apps, yes I know it’s a lot but do this once and you’re be happy because it also solves some common errors like e.g. calendar crashes during the start (because needed permissions aren’t given) each ANR (application not responding) error also causes small battery drain because the system logs such events or writes it on the flash memory
- Avoid installing 400 million apps, yes I did this very often to test apps but remember that each update or write process has a negative effect on your flash memory which ends up with less performance – Same goes with your PC/usb drive. Keep it simple and clean – always.
These are the real tips and the rest on the internet is just from people who absolutely having no clue how the Android OS really works, most of so-called tweaks are useless because Android is a constantly changing OS and it gets fixes and improvements all the time. Most of it gets adopted in the next major Android version or is already a part of your OS, kernel tweaks are fine but mostly it just waste your time and offers very less – some goes for adblockers or other programs. Ask yourself if you really need programs like NetGuard which creating a VPN tunnel to block ads, remember that tis is about trust and battery usage cause there requiring more battery, more permissions and you can’t be sure what there really doing unless there is a source code (which you also need to understand) or a good documentation/community.