Android developers already have their hands full, and it seems handset manufacturers that offer bespoke versions of the operating system are making it much harder for them to build effective apps.
A website named ‘Don’t Kill My App’ is a very clear-eyed look at just how bad the Android ecosystem has become for developers, at least when it comes to background operations. Core to the website’s argument is a stock Android feature named ‘Doze,’ which attempts to kill resource-heavy background apps to improve battery life.
Rather than stick with Doze, Android OEMs such as Nokia and Samsung wrote their own versions; some pre-date Google’s variant (which launched with Android 6.0 Marshmallow – we’re now on ‘Pie’), and some are just clumsy rip-offs. Don’t Kill My App says Nokia’s ‘Battery Protection’ app is the worst offender. It even kills whitelisted apps!
Though Nokia takes the top spot with five poops (yes, the site rates Android OEMs with poop emojis), OnePlus is in second place (four poops) with its ‘Battery Optimization’ feature. Xiaomi, Huawei, Meizu, and Sony all get three poops. Samsung earns two tiny poops, while HTC and ‘Stock Android’ each have one poop to their name.
The site is aimed at users and developers, and potential solutions are a mixed bag. OnePlus notably reverts power-saving settings arbitrarily, according to Don’t Kill My App, which suggests users avoid Sony’s ‘Stamina Mode’ altogether if they want their phones to be performant.
For developers, it’s even more bleak. There are no known fixes for many of the OEMs listed. The solutions available distill to keeping the screen active while the app is running, which defeats the purpose of any battery-saving feature altogether.
The best part about Don’t Kill My App is that it exists. Developers carry the full weight of users’ expectations, and screwy performance issues are rarely blamed on the operating system. It gets worse when OEMs have their own take on Android or its features. At least developers can point users to Don’t Kill My App as proof that the blame may not be with the app itself.