If you're in the market for a non-root ad-blocker, developer Julian Klode has an app that you'll definitely want to check out. It uses Android's VPN system in a similar manner to alternative apps like NetGuard and AdGuard, but it's got a new twist that should save lots of battery life in the process.
Unlike its competitors, Klode's ad-blocking app works at the DNS level, meaning that it only filters traffic for a brief moment when connections are first made, which is where all of the battery saving comes into play. To top that off, it's completely free and open-source, so it's an instant contender for best no-root ad-blocker.
The app that will block all ads on your non-rooted device without excess battery drain is called DNS66, and it's available for free on the F-Droid Repository. This site is a trusted home for free and open-source Android apps, so tap the following link from your Android phone or tablet to begin:
From there, scroll down to the Packages section on the page, then tap the link that says "download apk." Next, simply tap the Download complete notification to launch the APK, then press "Install" when prompted.
When you first launch the app, you'll be greeted by a set-up guide. Read through that if you'd like, but I'll cover the process below anyway.
To start, head to the Domain Filters tab at the bottom of the screen. From here, you'll have to pick at least one ad-blocking hosts file, which is basically a list of known ad servers that the DNS66 will block for you. I'd recommend selecting only the "Adaway hosts file" here, and you can do that by tapping the red dot to the left of this entry. When you've successfully enabled an ad-blocking hosts file, the adjacent dot will turn green.
From here, head back to the Start / Stop tab from the bottom menu, then tap the refresh icon near the top of the screen. At this point, you'll see a notification that tells you the hosts file is downloading, so wait for that to finish. When it's done, long-press the power icon in the center of your screen to enable the VPN ad-blocking service, then press "OK" on the popup.
From now on, ads will be blocked in your browser, as well as all of your other apps, thanks to DNS66's VPN service. When the service is active, you'll see a small key icon in your status bar, which should now be present at all times:
Unlike other VPN-based ad-blockers, DNS66 blocks ads at the DNS level. This means that only DNS traffic is redirected through DNS66 and filtered for ads, as opposed to the method employed in similar apps, which filters all data traffic for ads.
What this boils down to is that all ads will be blocked system-wide—but, because only the tiniest bit of data is being filtered, DNS66 has a very minimal battery footprint. Compared to a similar app in Adguard (which filters ads in all traffic), you can see that DNS66 doesn't even show up in my battery stats, whereas Adguard ranks at the top of battery-draining apps: