开发者分享:如何让应用更省电

ios7-3

从屏幕中省电

屏幕是整个设备中最耗电的部分。据一篇移动游戏电量消耗的研究报告显示,智能手机的液晶屏消耗了45%到50%的系统电量。

智能手机的屏幕在一段时间的无操作之后会自动关闭,开发者要善于利于这一特性。另外,正常情况下屏幕的显示和亮度都是默认设置,开发者可以在应用中加入亮度感应功能,通过降低画面亮度来达到省电的目的。

减少数据交换

除了屏幕之外,无线通信组件(如GSM、3G、WLAN等)是智能设备里第二耗电的部分。据新加坡国立大学的研究报告显示,当设备的屏幕亮着的时候,无线通讯组件大约消耗了40%左右的系统电量;当屏幕关闭的时候,它们将消耗70%的系统电量。

我们可以使用一些方法来限制通信组件的使用。如在应用的后台服务器中采用间隔数据传输来代替周期数据传输,调整用户数据传输重叠的时间,用TCP持久链接和HTTP管线化来代替TCP同步链接。另外,数据的本地缓存和服务器缓存也是减少应用和服务器交换的一个有效方式。

定位服务也可能让电量溜走,非必要情况下不要在应用中随意使用。同时,当设备没有移动的情况下,应该关闭GPS服务,在设备位移时使用加速计来让GPS重新启动。

移动广告的插入也是数据频繁交换的原因之一。据统计,移动广告占了

应用数据流量的65%,耗电量的23%。

降低CPU使用强度

通过减少不必要的处理进程,对应用的运行进行优化,也能起到节约电量的作用。

在游戏中,开发者可以尝试降低画面帧数。大多数情况下,每秒24到30帧就可以流畅地显示画面,略微地降低帧数不会影响用户的使用体验。

应用终止的时候,应该关闭应用的线程,否则你有可能要为此重写代码。同时,开发者还必须要了解目标设备的硬件配置,这样他们在开发应用时可以用设备自带的硬件辅助解码器来部分代替CPU的功能。

最后,将应用中复杂的运算放到云端执行,减少应用访问磁盘空间的频率等方式都能起到降低CPU使用强度的作用。

善于利用工具

开发者要学会利用一些工具来分析应用电量损耗。如在iOS上,开发者可以在设置-开发者-电量诊断中生成电量使用日志,分析每个应用在使用中的CPU功耗和网络连接情况;在Android上,开发者可以通过PowerTutor一类的应用来监视电量使用情况。当然,最好的方式是在受控环境下使用数字万用表直接对电池消耗进行测算。

摩托罗拉前CEO桑杰·贾(Sanjay Jha)曾说过:“架构差的应用会吞噬掉你手机中绝大多数的电量。”现在许多智能手机用户也在抱怨一些应用让他们的手机电池寿命不断缩短。而与之相对,许多开发者在应用开发过程中却都忽视了“节电”这个基本概念。

文中提到的方式虽然简单,但是都可以大大降低应用使用过程中的电量损耗。开发者可以根据自身情况,合理取用。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注