Categories: Developers / Mobile Apps
Energy efficiency doesn’t just apply to automotive and appliance manufacturers. Part of being a good mobile app developer is building apps that don’t demand too much of your phone’s resources – and battery life.
A quick look at your phone’s battery settings will show you which mobile apps are the most energy demanding. Location tracking, notifications and image-heavy apps that refresh in the background are all culprits. Good-looking graphics and alerts may form part of a positive app experience. But if they’re draining your battery and chewing up your phone’s resources, they’re not being good digital citizens.
How much of a problem is battery drain?
According to Tech Beacon, 36% of users will stop using an app if it uses too much juice. Not only that, but battery issues will be blamed on the app and its developer or parent company – not the device itself. All of those are pretty good reasons for a mobile app developer to design with battery life in mind.
How does an app drain my phone’s battery?
Apple’s energy guidelines highlight several battery drainers a mobile app developer should avoid when designing an app. Excessive CPU demands can drain battery, as can excessive animations and videos. Highly precise location requests and motion updates affect battery, and Bluetooth is notorious for draining both your phone and the Bluetooth-capable device. Background networking operations and anything that wakes your phone from an idle state are also battery killers.
How a mobile app developer can avoid battery drain
Efficiency is key. To reduce drain, Apple recommends writing simple, efficient code – giving you better battery performance and cooler, quieter-running devices. Their performance best practices include prioritizing key tasks, suspending unnecessary background activity and optimizing location requests and notifications. Avoiding extraneous graphics and animations as well as associated UI also helps.
Android also offers best practices for reducing the impact of an app on a device’s battery life. These include optimizing network resources and adjusting your app’s update and refresh rates depending on a device’s battery level. Android Marshmallow also introduced Doze and App Standby to extend battery life.
As we touched on in a recent blog post, testing an app is essential. Battery drain should form a part of app testing, with the battery state monitored throughout testing. “Low battery” testing should also be performed, as many devices shift into a power-saving mode at 20% battery, changing how an app performs. Monitoring an app’s CPU usage can also indicate whether the app is playing nicely or whether it’s a drain on resources.
While certain types of apps will use more resources than others, they shouldn’t get a free pass to chew up a device’s battery. Great apps are all about great user experience – and there’s nothing great about a phone that suddenly goes dead for no reason.