如何最大限度的降低应用软件的功耗

    近几年来,移动互联网的迅猛发展伴随着移动用户的高速增长,对高新科技产业尤其是智能手机和信息通信技术的要求也愈来愈高,最新推出的便携移动设备,在这些设备当中手机是更加多媒体化和智能化,其中硬件配置了先进的微型处理器芯片,软件系统中安装了媒体播放器和网络浏览器等各种系统应用软件。随着移动领域的发展,搭载Android系统的智能手机主频越来越高,CPU核越来越多,屏幕尺寸越来越大,分辨率越来越高,在带来更高的性能和更好的用户体验的同时,也产生了一定的弊端。那就是电池的续航能力不能与其他几项成比例的有效增长,硬件设备中产生功耗的原因主要有以下几点:

     1.显示屏长时间处于开启并且亮度较高的状态;
     2.GPS硬件设备长期处于开启状态;
     3.Wifi及蓝牙设备长期处于开启状态;
     4.基带芯片的信号接收与发射;
     5.音、视频设备长期处于播放状态;
     6.GPU在进行3D渲染的数据处理;
     7.各种传感器等外围设备使用轮询或者中断的方式监测环境数据;
     8.系统对存储器进行数据的读写操作;
     9.CPU对数据的大量计算处理;

     对于硬件而言,以上中的任何一种情况在设备功耗中都占有相当的比例,针对以上设备,高通骁龙系列芯片结构包括以下先进的硬件设备:
     1.CPU采用28nm工艺,Krait 400, 超过2G的主频;
     2.GPU采用先进的Adreno 330;
     3.Hexagon DSP;
     4.无线芯片集成了支持所有模式的4G LTE基带芯片,WiFi、蓝牙4.0、射频和USB3.0等高速设备;
     5.音视频解码器
     6.低功耗传感器
     7.2560*2048高清屏,支持1080p无线高清显示
     8.精确GPS定位
     9.21M 双ISP camera 芯片

     Android的应用软件一般情况下会用到其中的一种或者几种硬件,功耗主要来源于硬件,通过以下几种方式说明如何最大限度的降低应用软件的功耗。

     应用软件与可穿戴设备,例如智能手环,针对健康运动等行为而采集数据,通过蓝牙发送给Android手机的应用软件,当采集数据时开启蓝牙设备,应用软件会接收并监测手环发过来的数据,当数据接收完成时,应用应该弹出提示用户是否关闭系统蓝牙设备的对话框,让用户选择是否继续使用还是暂时关闭,当应用退出时应该关闭蓝牙设备,同时高通采用的蓝牙4.0可加快数据传输速度,从而缩短蓝牙运行时间,降低功耗。

     监测运动应用软件,现在有些应用软件可以计算在某一时间段内,用户运动了多少路程,平均时速多少,以及在地图上的运动轨迹。这个应用软件其实是非常耗电的,需要使用基带芯片提供的网络下载地图,开启GPS定位用户的位置,使用GPU进行3D图像的渲染,CPU处于高速运转状态。在制作这类应用软件时应该提供离线地图的下载,或者在用户第一次使用时将地图下载完成并存储在本地,因为用户的运动习惯经常会使用同一条运动轨迹;而GPS的定位功能与数据采集应该在用户选择计时开始时刻开启,在用户选择计时结束的时候关闭,而高通Izat™ GNSS GPS是采用三卫星的高精度定位系统,所以采集到数据以后CPU也会进行大量的数据处理,因为高通CPU与GPU对数据的处理能力很强,那么CPU与GPU运行的时间短,这在很大程度上降低了系统功耗。所以这样的方式不仅会省去通过3G、4G信号进行网络下载的耗电量,同时也会将GPS的定位时间缩短到最短,进而降低了功耗。

     视频或者阅读类应用软件,一般这类应用软件需要长时间的将屏幕开启,高通采用2k的高清屏,以及1080p的高清无线显示,一般情况下亮度越高,耗电量越大,屏幕的显示应该分白天和夜间模式,以此适应屏幕的亮度,对于阅读类软件当用户长时间不操作屏幕时,软件应该将屏幕亮度降到最低;对于视频类软件,应该让屏亮度幕自动调节,用户可以根据自己的习惯进行亮度手动调节。

     应用软件的后台服务,Android应用可以启动一个service,开启一个线程,使该应用进入后台运行,比如新消息的通知,版本更新,友情提醒等推送服务,当用户打开这些异步通知后就直接跳转到该应用当中。其实在APP store,豌豆荚,各种手机应用市场货架上的APP,都是包含有该推送服务的。当用户开启很多应用时,可想而知后台服务就会非常多,占用内存很大,CPU一直处于高速运转状态,同时需要使用网络,可能是WiFi,可能是3G、4G信号,这样就会非常耗电。这时应用软件在开启这个线程时,可以延长轮询时间,减少推送服务的运行次数,尽可能的让系统处于睡眠状态,让出CPU资源;或者仅仅让后台服务检测当前是否有网络存在,如果不存在,设置较长的睡眠时间;如果存在,判断是WiFi网络还是3G、4G信号网络,若是前者,可以缩短系统睡眠时间,若是后者仍然让其处于较长的睡眠。这样不仅保证功能不受影响,而且节省流量,降低功耗。

     应用软件涉及到屏幕旋转的功能,因为屏幕的自动旋转是靠G-sensor通过轮询进行数据采集而做出的操作,重力传感器是靠轮询的方式进行数据采集的,所以比较耗费功耗。当软件处于全屏模式时,可以将重力传感器的功能禁用掉,同时高通采用的低功耗传感器芯片,可以进一步降低系统功耗。

     应用软件涉及到数据下载的功能,数据下载需要在WiFi或者是存在基带信号的环境下进行,高通所使用的WiFi传输速度快,同时基带芯片支持全模式制式,而且最重要的是CPU处理能力很快,编写应用软件的代码时可以使用多线程下载方式,缩短了下载的时间,减少了WiFi开启时间,及CPU的数据处理时间,相比单线程的低性能下载还是可以节省不少的功耗。

     Android应用软件采用不同的逻辑代码编写,能否降低功耗,很大程度上跟系统芯片的硬件存在关联,这时可以使用高通提供的测试功耗的工具Trepn™ Plug-in结合Eclipse软件进行测试,应用软件中使用何种算法或者逻辑设计能够更完美的匹配系统的硬件,需要不断的尝试才能实现拥有更好用户体验、更低功耗的目标。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值