永发信息网

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

答案:2  悬赏:0  手机版
解决时间 2021-02-15 04:34
如何最大限度的降低应用软件的功耗
最佳答案

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

1.显示屏长时间处于开启并且亮度较高的状态;

2.GPS硬件设备长期处于开启状态;

3.Wifi及蓝牙设备长期处于开启状态;

4.基带芯片的信号接收与发射;

5.音、视频设备长期处于播放状态;

6.GPU在进行3D渲染的数据处理;

7.各种传感器等外围设备使用轮询或者中断的方式监测环境数据;

8.系统对存储器进行数据的读写操作;

9.CPU对数据的大量计算处理;

对于硬件而言,以上中的任何一种情况在设备功耗中都占有相当的比例,针对以上设备Qualcomm Snapdragon芯片结构中配备了以下先进的硬件:

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软件进行测试,应用软件中使用何种算法或者逻辑设计能够更完美的匹配系统的硬件,需要不断的尝试才能实现拥有更好用户体验、更低功耗的目标。
全部回答
支持一下感觉挺不错的
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
大荔县交警大队地址好找么,我有些事要过去
食用菌制品能治胃病?
凡人修仙传的主角脸一直是黑的吗
一首中文歌 歌词大概有这样几句 有些人正在离
富平县交警大队地址在什么地方,我要处理点事
【羽球共和国】中国羽毛球六星级大奖赛英语全
蒂豪橱柜地址在什么地方,想过去办事
我喜欢的女孩不开心我怎么办?
谁知道去台湾工作需要办什么手续么?
韩城市交警大队地址有知道的么?有点事想过去
电脑开机后说没有完成系统怎么办
美国电影剑鱼行动最后结局,男主角用来拖房车
求Adobe Audition v3.0基本教程
一指红是不是骗局?一指红是黑平台吗?一指红
合阳县交警大队地址好找么,我有些事要过去
推荐资讯
【三毛撒哈拉沙漠】为什么三毛会走向撒哈拉沙
急性砷中毒的症状有()
爱是十年相识九年…………后面几句咋说来
2个月狗狗坐40小时小轿车如果会晕车怎么办
海阳市个体私营企业协会我想知道这个在什么地
万柏林区公安消防大队在哪办公
残币能用吗
上海莘闵高科技园区地址在什么地方,想过去办
卡罗拉1.8跑了200公里少了两格半油
湖心亭看雪图画
防盗门上小广告的清理方法,有没有简单一点的
风暴造型地址在哪,我要去那里办事
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?