摘要

Android智能手机发布于2018年10月随后风靡了全球也改变了手机界的格局,最终形成现在已Android和苹果为主的2大手机阵营。时至今日,不少人提到Android手机还是停留在手机没有苹果好用,无外乎早期Android机器确实存在发热快、续航不足、运行卡顿的槽糕体验并烙印在用户的记忆里。但上述的不足在随后的几年里,经过Google团队、全世界的手机厂商和无数工程师的不断优化下,现在的Android智能手机已经从能用走到好用了,从一个技术的追赶者变成技术的创新者,并朝着更加人工智能的方向发展着。
置身于Android智能手机技术迭代的浪潮中,尤其是在省电技术中,我们找到了不少用户功耗痛点的原因,全家桶应用的关联唤醒、应用在后台无节制的使用CPU、浏览器网页悬浮球过渡刷新、待机的长链接唤醒异常、No-Sleep漏洞、GPS数据频繁异常外发、AP IDLE 慢、CPU常驻多核高频率无法动态调整异常等等。导致手机无法快速进入休眠模式,系统内存被过渡占用,后台频繁联网行为等用户看不见的内部现象,在外部表现为手机发烫、电池电量掉电快、性能卡顿的直观体验。
上述中往往对于很多用户来说是相同的槽糕感性体验,但是在不同使用情况和环境下产生的原因存在大同小异或完全不同,即功耗现象的问题,往往需要具体问题具体分析,借助PowerMonitor转化为直观的电流波形图并结合日志进行理性的分析,对症下药,提出基于此类问题的解决方案。故省电技术的产生往往是从实际中来,又最终到实际中去。本论文旨在从省电技术的一个点出发,进行阐述省电技术中的智能管理技术。
故在此提出一种针对夜间场景下如何实施省电技术的方案来延长续航时间,优化手机夜间待机耗电异常的现象。

关键词:省电技术、Android、智能手机、场景省电

Abstract

Android smart phones were released in October 2018 and then swept the world and changed the pattern of the mobile phone industry, and finally formed the two major mobile phone camps now dominated by Android and Apple. Today, many people have mentioned that Android phones are still stuck on phones that are not as easy to use as Apple. It is nothing more than that early Android machines did have a bad experience of fast heating, insufficient battery life, and running lag, which was imprinted in the memory of users. However, the above-mentioned shortcomings have been continuously optimized by the Google team, mobile phone manufacturers around the world, and countless engineers in the following years, and now Android smartphones have gone from being usable to being usable, and from being a technological chaser. Become a technological innovator and develop towards a more artificial intelligence.
In the wave of Android smart phone technology iteration, especially in the power saving technology, we have found the reasons for the pain points of many users, such as the associated wake-up of the family bucket application, and the uncontrolled use of CPU and browser web pages in the background. Transitional refresh of floating ball, long-link wake-up abnormality in standby, No-Sleep vulnerability, frequent abnormal outgoing GPS data, slow AP IDLE, high frequency of CPU resident multi-core cannot dynamically adjust abnormalities, etc. As a result, the mobile phone cannot quickly enter the sleep mode, the system memory is over-occupied, and internal phenomena that users can’t see, such as frequent background networking behaviors, are externally manifested as an intuitive experience of hot mobile phones, fast battery power loss, and performance freezes.
The above is often the same bad perceptual experience for many users, but the causes under different usage conditions and environments are similar or completely different, that is, the problem of power consumption, which often requires specific analysis of specific problems and conversion with the help of PowerMonitor In order to visualize the current waveform and combine the log for rational analysis, prescribe the right medicine, and propose solutions based on such problems. Therefore, the generation of power-saving technology often comes from reality, and finally goes to reality. The purpose of this paper is to start from a point of power-saving technology and elaborate the intelligent management technology in power-saving technology.
Therefore, a solution for how to implement power saving technology in night scenes is proposed to extend battery life and optimize the phenomenon of abnormal power consumption of mobile phones at night.

Keywords: Power saving technology, Android,Smart Phone,Scene Power Saving

目 录

摘要 II
Abstract III
第一章 导言 11
1.1 研究背景及意义 11
1.2 业内夜间省电的研究现状 13
1.3 创新之处 13
第二章 夜间场景省电技术方案 15
2.1 需求与目的 15
2.2 方案实施 17
2.2.1 方案概述 17
2.2.2 夜间场景识别模块 18
2.2.3 无感知网络控制模块 20
2.2.4 策略运行日志 22
3.1 测试用例制定建议 27
3.2 续航优化数据 27
第三章 结论与展望 20
4.1 结论 20
4.2 展望 20
致谢 24

第一章 导言

1.1 研究背景及意义

1.1.1 研究背景

手机省电续航是随着硬件变化、软件迭代、用户体验要求而不断向前发展的技术,即优化当前现有场景和引入新技术的过程,并满足不为省电而牺牲用户体验方式的方案推进前行,同时未来的省电技术发展将更加AI化。
省电续航领域根据省电内容可以划分硬件、结构和软件。在结构设计中主要考虑PCB layout设计和散热设计等;在硬件中包含CPU处理器、电池、屏幕、RF外设(Wi-Fi、蓝牙、2/3/5G)、其他外设(GPS、Sensor、呼吸灯、NFC、红外等)且硬件外设也包含了各式各样的省电相关的技术,例如快充技术、无线充电技术、AMOLED省电屏幕、屏幕自刷新技术、CPU架构技术、AI 识别芯片、呼吸灯控制;涉及软件领域中的创新技术更是层出不穷,大放异彩。
省电续航中软件技术可以从上层到底层细分为应用层、Framework层、Native层、驱动层,覆盖整个Android架构。应用层面中针对流氓应用的特点,出现不少解决方案例如Doze、App Standby、内存水位回收、对齐唤醒技术、Jobscheduler技术、UI过度渲染、GMS包耗电优化、联网防火墙管理;Framework层面中也涉及了网络省电、音视频、冻结中控技术、VIP Thread技术、暗色主题和PowerExtend等;Native层面中虚拟机优化、Dalvik转ART等;驱动层面的AAL屏幕省电、CPU调频技术等。基于上述提及的省电技术中,也构成手机ODM中的系统优化或主流的手机管家类的主要功能。其中省电管家中的省电模式开启会进行系统硬件Wi-Fi\GPS\GPRS\BT\NFC\ROTATE\DISPLAY\SYNC的控制,例如屏幕亮度变暗、触摸和来电震动被关闭、GPS待机省电模式开启、Modem省电模式等。还有超级省电技术基于省电模式的基础上进一步限制手机的场景,仅仅使用电话、短信、闹钟和联系人,回归手机原本的四大功能;类似手机管家依靠现有的技术进行省电方向进行管控思路。现在也运用到了场景省电方向中,例如手电筒省电、视频软硬解码切换省电技术、通话省电、GPS省电、音乐场景省电、低功耗耳机省电技术、运动与静止场景省电技术等等。场景省电技术方案的核心为场景识别和省电中控管理方案。手机夜间场景省电技术也是属于场景省电的领域范畴之中,即在夜间场景中对手机进行省电方向的管理。同时这里也要指出场景省电并不是只在省电发生的时候开始,同时也会进行一定预测下一次相同场景发生的时刻并提前进行省电策略的预备。这也是省电技术从单纯功能性下发,到场景式管控,再到现阶段的AI省电管控的一个典型案例。

1.1.2 研究意义

中国有句古话,打江山容易,守江山难。一个好产品从诞生到成熟化,也是这样的一个过程,需要经历种种的考验和技术攻关。也就是说,产品从制造出来,满足能用的状态,当然仅仅只是一个初始的形态;随后产品放到实际消费者手中将直面千奇百怪的问题,在Android手机中,如今已经是手机也半壁江山,消费全体也达到亿级的程度,早期的几年Android都在解决功能上的漏洞,使产品逐步走向一个稳定可用的状态;然而如果只是止步到这个状态的化,还是没有解决更深层次的用户体验问题,即产品功能完整正常使用,长期使用或是各种各样的环境和使用场景下都能正常保持功能的稳态。但是用户还是觉得这个手机性能慢、耗电异常、发热快等,就是没有苹果手机做得好。这也是Android的先天性不足,并维持了很多年才逐步改善,此期间也诞生了各种各样非常优秀的系统优化技术,当然省电续航领域也在这一个阶段中获得了大量发展。我们称这一阶段为产品的好用阶段。随着工业4.0时代的到来,整个科技界的趋势是人工智能化。在大数据AI开始起步的时代,尤其是历史的趋势下,技术又一次发生了变更。产品不仅仅是停留在能用、稳态使用、好用的阶段,更借助了AI的预测技术,让用户在享受技术带来的无声无息地便利下,体验到这个产品的功能上设计的背后深层次的感性友好的潜意识。用户会下一个产品或新产品更换中继续成为忠实的顾客。这个阶段可以使用“把玩”一词,表示用户热爱这个产品所带来的满足感。要做到这个地步,往往需要企业和开发工程师,发挥匠人的思想。产品做到极致,技术永无止境。这也是为什么到了现在阶段,手机不管是Android还是iPhone越来越像了,从早期Android不断追赶,变成现在双雄不断争霸的现象,Android的短板已经接近了,iPhone也需要32放低姿态学习Android, Android也需要进行自身不断继续革新。手机夜间场景省电技术也是属于这一篇章之中,我们要做的事情不是单单为省电而省电,而是根据用户的实际使用情况,科学地制定省电策略,并结合AI进行场景预测,实施更加智能的管控方案。
手机夜间场景省电技术属于在工业4.0智能时代下手机领域中百花齐放中的一部分。根据用户的感性痛点现象,进行了理性分析,在实验室中借助各种设备和日志系统把现象通过数据或、波形、表格的形式将问题展现出来,并构建出用户画像,制定出千人千面的解决方案。这项技术可以理解为工业4.0智造下的微观显影,也同时具有适应性、资源效率性的智慧管控。

1.2 业内夜间省电的研究现状

不同时区有不同的夜间时间段,不同职业也分为白班和夜班,不同生活习惯的人对夜间时间段的定义也不一样。故通过时间定义夜间时间段的场景是不准确的。即如果夜间场景只是根据时间范围(例23:00-07:00)就是夜间时间段的话是不准确的,因为实际用户也可能会因为跨国跨时区旅行而导致偏差,即使在这一基础上新增根据GPS位置划分时区以确定夜间时间段也是会有遗漏,例如富士康的工厂是实现白班和夜班工作制的,并且根据排班计划可能会出现同一个人不同月份上不同时间段班。上述中我们可以从这个场景中看到各种各样不同的用户画像,即相同场景也是存在千人千面的不同。
早期夜间省电的雏形为定时省电技术,即提供一个设置界面让用户设置开始时间和结束时间进行省电策略的开启。缺点是小白用户其实是不知道这个设置入口在哪里,即使知道了,也不一定回去开启。使用率比较低。即使定时省电开启后,用户也不满意省电策略效果,应该早期的省电策略做法的思路是为省电而省电,例如关闭网络、减低亮度等减低用户体验的策略,往往是开发容易体验粗暴的。随着Android的每年不断迭代,用户场景的识别重要性慢慢被不断重视和改善,对用户体验的关注度也不断提高。省电策略也不断去除简单粗暴,朝着无感知管控的方向发展着。

1.3 创新之处

本方案已申请国家发明专利。查询地址如下: http://www.soopat.com/Patent/201810995680#this

第二章 夜间场景省电技术方案

2.1 需求与目的

2.1.1 需求

很多人说省电续航和性能是互斥,省电上去性能就减低,性能上去就耗电了。比如杀进程对省电的待机好,但是被杀掉的进程再次启动就不能从现有内存中直接显示,只能冷启动重新创建进程,导致耗时长。粗看确实这样,其实很多情况,我们只要把握常用应用不杀就可以兼顾省电和性能了就平衡性解决这一问题。所以对场景的再次细化显得更加重要了。
省电续航领域有着太多场景需要进一步细化,游戏、视频、社交、音乐、地图、空闲场景、夜间场景、通话场景、外出场景、计算性应用场景、存储应用场景、交互式场景、静态界面场景,高耗电界面,发热场景,在上述特定场景下我们可以CPU,分辨率,帧率,网络防火墙,硬件开关,进程管理等方法进行针对性续航优化。
本次的夜间场景省电技术功能属于省电续航场景优化的范畴,功能目前已经基本完善,目前发现华为机器也是有类似夜间场景的网络省电,目前行业内的省电领域开始向AI场景进行细化和优化。

2.1.2 目的

不同时区有不同的夜间时间段,不同职业也分为白班和夜班,不同生活习惯的人对夜间时间段的定义也不一样。故通过时间定义夜间时间段的场景是不准确的,例如并不是每个人都是23:00-07:00就是夜间时间段,进一步根据GPS位置判断时区确定夜间时间段也同样不适合各种各样的人的夜间定义。故提出了根据用户习惯定义夜间时间段的方法。
基于夜间场景下人们对手机的依赖程度为最低,此时手机并不需要像白天时间段时刻待命。例如Wi-Fi、GPS、GPRS 的网络功能并没有像白天需求那么强烈,尤其是在深度睡眠状态,手机往往是静置一旁。针对这一现象,我们做了电流实验,在相同机器Wi-Fi、GPS、GPRS 全部开启,只是开启不进行网络任何通讯和GPS相关定位,待机平均电流20mA,但是进行Wi-Fi、GPS、GPRS关闭控制是10mA。对于这一的结果通俗地理解是假如一个晚上待机8小时,Wi-Fi、GPS、GPRS 全部开启耗电是4%电量,如果关闭Wi-Fi、GPS、GPRS,耗电量只需要2%。故基于这个实验数据,我们进行了无感知网络控制管理,即时刻保护用户使用体验,尤其是社交应用的消息能准确送达。
综合上述提供了一种根据夜间时间段的识别模块下进行无感知网络控制模块的控制,最终达到无感知的夜间省电作用的夜间网络无感知智能省电的方法。达到优化续航的目的

2.2 方案实施

2.2.1 方案概述

夜间场景省电技术方案属于省电续航技术领域,包括夜间时间段识别模块,所述夜间时间段识别模块包括以下步骤,a1:在用户每次点亮屏幕时,进行暗屏时长计算,具体暗屏时长为本次亮屏时间点与上一次暗屏时间点之差;a2:判断是否大于基本睡眠时长,若是,则记录实际夜间时间段M,并进入下一步,否则返回至a1步;a3:根据实际夜间时间段M初步预测第二天的夜间时间段N,N=M;a4:去除初步预测时间段N头尾各1小时,得到第二天预测的夜间时间段Q,Q=N-2。本方案的实施在夜间场景下带来优化后一倍的续航能力提升,且随着夜间待机时间越长,省电作用效果越好。

2.2.2 夜间场景识别模块

根据第一天的实际夜间时间段数据且夜间时长必须满足大于基本睡眠时长6小时,初步预测第二天夜间时间段,例如22:00-08:00,为了让用户更加无感知化,对预测夜间时间段进行去除头尾一小时,得到预测安全夜间时间段,例如这里结果夜间时间段变更为23:00-07:00。具体描述如下及详细见如下图示:

步骤如下:

  1. 在用户每次点亮屏幕事件时,进行暗屏时长计算,具体暗屏时长为本次亮屏时间点与上一次暗屏时间点之差
  2. 判断是否大于基本睡眠时长,如果否,则继续回到上个流程等待满足条件,若是则满足夜间时长的基本条件。
    其中基本睡眠定义6小时的原因是:考虑到有些用户并不是睡眠质量很好的情况,对手机的依赖度比较高,且本方案流程还会扣除头尾1小时时间,即执行的省电作用时间也比较短,但是可能在网络控制中会影响到用户使用体验。为了无感知省电体验,提出基本睡眠时长6小时的阈值,让网络省电带来的用户体验的影响更少些。
    例如我们当前暗屏时长为8小时,并记录实际夜间时间段为 2018-05-20 23:00-07:00,
    3.根据实际夜间时间段初步预测第二天的夜间时间段,例如第一天实际夜间时间段为2018-05-20 23:00-07:00,我们初步预测即直接加1天为2018-05-21 23:00-07:00
    4.去除初步预测时间段头尾2小时,基于考虑用户使用体验的角度出发我们希望接下来的无感知网络省电控制,延后1小时才开始控制,并且提前1小时退出控制,例如预测的夜间时间段为 2018-05-21 00:00-06:00
    根据上述的规则,其实我们主要是根据用户的手机暗屏时间段特点,动态判断夜间时间段,区分为现在主流根据固定时间点或者根据时区定义夜间时间段。本方法由于根据用户使用习惯进行夜间时间段判断会优于现有方案,且进行去除头尾2小时的操作,让夜间时间段根据无感知化;

2.2.3 无感知网络控制模块

为了保证社交通讯应用消息接收的及时性,夜间时间段内定义10, 30, 60 分钟分别检测是否有网络,来动态的控制网络开关Wi-Fi,GPRS,GPS的开启与关闭,除此之外当用户在夜间时间段内用户主动亮屏会立刻恢复网络开关操作。
具体描述如下及详细见下图:

1)当夜间时间段场景下,会检测是否暗屏条件,若为亮屏则需要恢复网络开关Wi-Fi,GPRS,GPS操作等待暗屏条件的到来,若为暗屏则进行10分钟的是否有网络的检测
2)当10分钟内没有网络数据时,则优先确保GPRS,GPS为关闭状态,若有网络数据产生则恢复Wi-Fi,GPRS,GPS相关状态,重新进行初始流程;
3)当30分钟内没有网络数据时,则确保Wi-Fi为关闭状态,,若有网络数据产生则恢复Wi-Fi,GPRS,GPS相关状态,重新进行初始流程;
4)当60分钟内没有网络数据时,则进行每60分钟一个周期检测是否有网络,期间确保Wi-Fi,GPRS,GPS为关闭状态,若有网络数据产生则恢复Wi-Fi,GPRS,GPS相关状态,重新进行初始流程;
上述的是否有网络检测主要方法是:进行5分钟时长的短暂开启Wi-Fi和GPRS开关检测是否有上传或下载数据产生,若有任何网络数据产生则判断有网络数据产生。
通过3个时间梯度进行网络数据是否产生来动态控制Wi-Fi,GPRS,GPS的开启与关闭,可以巧妙地让社交通讯应用消息能在夜间场景下最大限度接受,同时减低一般的待机电流,大大延长夜间场景的续航时间,同时当用户夜间期间可能任意时刻亮屏的条件下会及时主动恢复网络开关,也很好保证用户体验。做到尽可能地无感知控制网络达到省电效果。

2.2.4 策略运行日志

根据第一天数据,判断夜间睡眠时段,日志如下
05-04 12:17:38.010571 1797 1797 D NightMode: sleepSafeTime = 2018-05-05 01:40:30, wakeUpSafeTime = 2018-05-05 11:17:38, BASE_SLEEP_TIME = 06:00:00
具体控制策略,日志

542,525: 05-05 01:40:32.201659  1797  1797 D SmartNetWorkHelp: Screen off ,needAlarmTask = true
542,526: 05-05 01:40:32.209120  1797  1797 D SmartNetWorkHelp: 01:40:32, Fist Screen Off start 5 minute NetworkAlarmTask
542,528: 05-05 01:40:32.217813  1797  1797 D SmartNetWorkHelp: 01:40:32, star 10 minute Network alarm task
543,205: 05-05 01:50:33.100601  1797  1797 D SmartNetWorkHelp: 01:50:33 hasNetworkData = false, curTx = 361589560, curRx = 806806420, preTx = 361587444, preRx = 806792649
543,207: 05-05 01:50:33.120838  1797  1797 D SmartNetWorkHelp: 01:50:33, 10 minute ago, Close WirelessModule and start 30 minute alarm task by has not netwrok use
543,214: 05-05 01:50:33.168716  1797  1797 D SmartNetWorkHelp: disable gprs
543,217: 05-05 01:50:33.205069  1797  1797 D SmartNetWorkHelp: 01:50:33, star 30 minute Network alarm task
545,254: 05-05 02:20:34.346564  1797  1797 D SmartNetWorkHelp: 02:20:34,30 minute ago, Open wireless module and star 2 minute alarm task for detect network use
545,258: 05-05 02:20:34.359502  1797  1797 D SmartNetWorkHelp: 02:20:34 ,Wi-Fi is available = true, closeBySmartWi-Fi = false
545,262: 05-05 02:20:34.381145  1797  1797 D SmartNetWorkHelp: 02:20:34 ,gprs enable = false, closeBySmartGPRS = true
545,265: 05-05 02:20:34.402497  1797  1797 D SmartNetWorkHelp: enable GPRS
545,268: 05-05 02:20:34.432733  1797  1797 D SmartNetWorkHelp: 02:20:34, star 2 minute Network alarm task
545,576: 05-05 02:22:35.154200  1797  1797 D SmartNetWorkHelp: 02:22:35 hasNetworkData = false, curTx = 361593962, curRx = 806853243, preTx = 361592524, preRx = 806848620
545,581: 05-05 02:22:35.178037  1797  1797 D SmartNetWorkHelp: 02:22:35, 2 minute ago, close wireless module and star 120 minute alarm task by has not network use
545,585: 05-05 02:22:35.215794  1797  1797 D SmartNetWorkHelp: disable Wi-Fi
545,625: 05-05 02:22:35.260120  1797  1797 D SmartNetWorkHelp: disable gprs
545,673: 05-05 02:22:35.320625  1797  1797 D SmartNetWorkHelp: 02:22:35, star 120 minute Network alarm task
548,035: 05-05 04:22:36.112857  1797  1797 D SmartNetWorkHelp: 04:22:36, 120 minute ago, open wireless module and star 1 minute alarm task for detect network use
548,037: 05-05 04:22:36.132339  1797  1797 D SmartNetWorkHelp: 04:22:36 ,Wi-Fi is available = false, closeBySmartWi-Fi = true
548,040: 05-05 04:22:36.152944  1797  1797 D SmartNetWorkHelp: enable Wi-Fi
548,043: 05-05 04:22:36.198878  1797  1797 D SmartNetWorkHelp: 04:22:36 ,gprs enable = false, closeBySmartGPRS = true
548,046: 05-05 04:22:36.208475  1797  1797 D SmartNetWorkHelp: enable GPRS
548,049: 05-05 04:22:36.241909  1797  1797 D SmartNetWorkHelp: 04:22:36, star 2 minute Network alarm task
550,247: 05-05 04:24:37.084588  1797  1797 D SmartNetWorkHelp: 04:24:37 hasNetworkData = false, curTx = 361622337, curRx = 806902744, preTx = 361601503, preRx = 806860832
550,248: 05-05 04:24:37.090183  1797  1797 D SmartNetWorkHelp: 04:24:37, 2 minute ago, close wireless module and star 120 minute alarm task by has not network use
550,249: 05-05 04:24:37.100970  1797  1797 D SmartNetWorkHelp: disable Wi-Fi
550,332: 05-05 04:24:37.167776  1797  1797 D SmartNetWorkHelp: disable gprs
550,466: 05-05 04:24:37.298737  1797  1797 D SmartNetWorkHelp: 04:24:37, star 120 minute Network alarm task
552,637: 05-05 06:24:38.158277  1797  1797 D SmartNetWorkHelp: 06:24:38, 120 minute ago, open wireless module and star 1 minute alarm task for detect network use
552,638: 05-05 06:24:38.164881  1797  1797 D SmartNetWorkHelp: 06:24:38 ,Wi-Fi is available = false, closeBySmartWi-Fi = true
552,641: 05-05 06:24:38.182881  1797  1797 D SmartNetWorkHelp: enable Wi-Fi
552,642: 05-05 06:24:38.218809  1797  1797 D SmartNetWorkHelp: 06:24:38 ,gprs enable = false, closeBySmartGPRS = true
552,645: 05-05 06:24:38.229736  1797  1797 D SmartNetWorkHelp: enable GPRS
552,655: 05-05 06:24:38.265493  1797  1797 D SmartNetWorkHelp: 06:24:38, star 2 minute Network alarm task
554,346: 05-05 06:26:39.121131  1797  1797 D SmartNetWorkHelp: 06:26:39 hasNetworkData = false, curTx = 361643616, curRx = 806943084, preTx = 361631412, preRx = 806911819
554,347: 05-05 06:26:39.134441  1797  1797 D SmartNetWorkHelp: 06:26:39, 2 minute ago, close wireless module and star 120 minute alarm task by has not network use
554,350: 05-05 06:26:39.147996  1797  1797 D SmartNetWorkHelp: disable Wi-Fi
554,456: 05-05 06:26:39.210135  1797  1797 D SmartNetWorkHelp: disable gprs
554,560: 05-05 06:26:39.294135  1797  1797 D SmartNetWorkHelp: 06:26:39, star 120 minute Network alarm task
557,047: 05-05 08:26:40.127075  1797  1797 D SmartNetWorkHelp: 08:26:40, 120 minute ago, open wireless module and star 1 minute alarm task for detect network use
557,051: 05-05 08:26:40.145091  1797  1797 D SmartNetWorkHelp: 08:26:40 ,Wi-Fi is available = false, closeBySmartWi-Fi = true
557,055: 05-05 08:26:40.165237  1797  1797 D SmartNetWorkHelp: enable Wi-Fi
557,057: 05-05 08:26:40.209064  1797  1797 D SmartNetWorkHelp: 08:26:40 ,gprs enable = false, closeBySmartGPRS = true
557,060: 05-05 08:26:40.222586  1797  1797 D SmartNetWorkHelp: enable GPRS
557,064: 05-05 08:26:40.253187  1797  1797 D SmartNetWorkHelp: 08:26:40, star 2 minute Network alarm task
558,707: 05-05 08:28:41.135820  1797  1797 D SmartNetWorkHelp: 08:28:41 hasNetworkData = false, curTx = 361660836, curRx = 806980953, preTx = 361649341, preRx = 806948809
558,708: 05-05 08:28:41.144458  1797  1797 D SmartNetWorkHelp: 08:28:41, 2 minute ago, close wireless module and star 120 minute alarm task by has not network use
558,712: 05-05 08:28:41.163046  1797  1797 D SmartNetWorkHelp: disable Wi-Fi
558,793: 05-05 08:28:41.228816  1797  1797 D SmartNetWorkHelp: disable gprs
558,968: 05-05 08:28:41.408092  1797  1797 D SmartNetWorkHelp: 08:28:41, star 120 minute Network alarm task
560,808: 05-05 10:28:42.112347  1797  1797 D SmartNetWorkHelp: 10:28:42, 120 minute ago, open wireless module and star 1 minute alarm task for detect network use
560,809: 05-05 10:28:42.118315  1797  1797 D SmartNetWorkHelp: 10:28:42 ,Wi-Fi is available = false, closeBySmartWi-Fi = true
560,812: 05-05 10:28:42.128977  1797  1797 D SmartNetWorkHelp: enable Wi-Fi
560,816: 05-05 10:28:42.160258  1797  1797 D SmartNetWorkHelp: 10:28:42 ,gprs enable = false, closeBySmartGPRS = true
560,819: 05-05 10:28:42.168422  1797  1797 D SmartNetWorkHelp: enable GPRS
560,821: 05-05 10:28:42.183702  1797  1797 D SmartNetWorkHelp: 10:28:42, star 2 minute Network alarm task
562,630: 05-05 10:30:43.095537  1797  1797 D SmartNetWorkHelp: 10:30:43 hasNetworkData = false, curTx = 361681528, curRx = 807027823, preTx = 361669757, preRx = 806989922
562,631: 05-05 10:30:43.101391  1797  1797 D SmartNetWorkHelp: 10:30:43, 2 minute ago, close wireless module and star 120 minute alarm task by has not network use
562,636: 05-05 10:30:43.124018  1797  1797 D SmartNetWorkHelp: disable Wi-Fi
562,714: 05-05 10:30:43.193480  1797  1797 D SmartNetWorkHelp: disable gprs
562,818: 05-05 10:30:43.268671  1797  1797 D SmartNetWorkHelp: 10:30:43, star 120 minute Network alarm task
563,771: 05-05 11:17:39.132732  1797  1797 D SmartNetWorkHelp: 11:17:39 ,Wi-Fi is available = false, closeBySmartWi-Fi = true
563,774: 05-05 11:17:39.146470  1797  1797 D SmartNetWorkHelp: enable Wi-Fi
563,779: 05-05 11:17:39.176452  1797  1797 D SmartNetWorkHelp: 11:17:39 ,gprs enable = false, closeBySmartGPRS = true
563,782: 05-05 11:17:39.188107  1797  1797 D SmartNetWorkHelp: enable GPRS
563,784: 05-05 11:17:39.214444  1797  1797 D SmartNetWorkHelp: 11:17:39 , gps enable = false, closeBySmartGPS = false
563,785: 05-05 11:17:39.222683  1797  1797 D SmartNetWorkHelp: 11:17:39, stop smart Network alarm task
734,617: 05-07 10:24:38.463164  1797  1797 D SmartNetWorkHelp: Screen off ,needAlarmTask = true
734,626: 05-07 10:24:38.469066  1797  1797 D SmartNetWorkHelp: 10:24:38, Fist Screen Off start 5 minute NetworkAlarmTask
734,640: 05-07 10:24:38.508261  1797  1797 D SmartNetWorkHelp: 10:24:38, star 10 minute Network alarm task
735,024: 05-07 10:24:39.420689  1797  1797 D SmartNetWorkHelp: Screen off ,needAlarmTask = true
735,025: 05-07 10:24:39.423698  1797  1797 D SmartNetWorkHelp: 10:24:39, Fist Screen Off start 5 minute NetworkAlarmTask
735,026: 05-07 10:24:39.429234  1797  1797 D SmartNetWorkHelp: 10:24:39, star 10 minute Network alarm task
735,053: 05-07 10:24:39.585742  1797  1797 D SmartNetWorkHelp: 10:24:39 ,Wi-Fi is available = true, closeBySmartWi-Fi = false
735,054: 05-07 10:24:39.593796  1797  1797 D SmartNetWorkHelp: 10:24:39 ,gprs enable = true, closeBySmartGPRS = false
735,055: 05-07 10:24:39.597759  1797  1797 D SmartNetWorkHelp: 10:24:39 , gps enable = false, closeBySmartGPS = false

3.1 测试用例制定建议

需要设置时间为当前时间,我们的测试用例中正常模式全部开启GPS,Wi-Fi,Gprs和预置一定数量的应用的条件也需要保持,总之尽量模拟用户使用场景。本次和以往的续航测试区别就是侧重了夜间的待机续航能力。
第一天使用要保证产生一组超过6个时长的暗屏时间条件
第二天会根据上一天的6个时长数据进行预判夜间场景,然后需要等待夜间的网络省电数据
第三天查看优化前后的剩余电量即可

3.2 续航优化数据

基于夜间场景省电技术方案实施与测试,测试部的反馈结果:
1.夜间待机11.5小时,优化前耗电6%电量,优化有耗电3%电量,即夜间续航能力提升一倍。
2.本夜间网络省电发明方案目前实施2个月并投入用户实际使用,做到方案提出的无感知省电要求,无用户反馈社交应用消息接受不及时或消息没正常传递,即做到保护用户体验和省电的效果。

第三章 结论与展望

3.1 结论

本方案的实施在夜间场景下带来优化后一倍的续航能力提升,且随着夜间待机时间越长,省电作用效果越好。
本方案实施主要是根据用户实际使用的习惯进行智能判定用户自己的夜间时间,做到千人千机,也不是呆板的固定时间判断,通过更加细节的用户考虑,去除头尾时间,让夜间时间更贴近用户深度睡眠的时间段,设计处处偏向无感知,时刻考虑用户使用体验。
本方案提出的3个时间梯段进行网络动态监测和动态控制网络开关的思路,不仅兼顾社交通讯应用的正常使用,而且启动良好的省电作用,且无感知的操作,给用户带来不知不觉地省电体验,换句话说用户都会很惊奇为什么晚上手机会这么省电的感觉。
本方案施行操作性强,省电效果明显,目前也正常搭载到我司所有出货项目机器,具备非常实用非常省电的好处。

3.2 展望

早期人们对Android手机的无外乎价格便宜、掉电快、容易发热、越用越慢,续航和性能痛点催生了一大批手机管家类应用,发现一个功能能起到作用并拼接式组合成管家类型应用。例如降低屏幕亮度、只根据黑白名单杀进程、关闭Wi-Fi\BT\GPRS等外设、休眠超时缩短等存调用通用API接口的方法进行粗放式策略管控。
随着手机行业的不断发展,Android手机褪去了山寨的外衣,手机行业也开始进行洗牌了,产品也慢慢朝着精品化、品牌化发展。各大厂商建立起性能和续航的测试,对用户体验重视度也在不断提升。手机管家的功能也开始精简化,目的让用户不需要知道太多技术细节不知不觉中体验到性能和续航带来的提升。在这一技术背后中,手机管家类应用进行大刀阔斧式优化,其中自启动管理、后台管理涉及的进程拦截技术就是这一典型的案例。
技术总是不断迭代更新,工业智造4.0时代的到来,人工智能技术兴起,性能续航技术慢慢朝着场景式管控和AI Schedule方向发展。越来越精细化场景为精准式管控提供了更多的技术优化点,AI 构建各种场景模型或用户画像,为策略的预加载提供了良好指导,同一款手机在不同用户中策略实现千机千面的智能管控方案。无感知式技术推进带来更好的用户体验。

【老文档】手机夜间场景省电技术相关推荐

  1. 智慧文档手机版隐私政策

    智慧文档手机版手机客户端软件最终用户使用授权协议如下 本最终用户软件授权协议(以下简称"协议")是由您,作为最终用户,与智慧文档手机版手机客户端软件开放方 成都奇异智慧科技有限公司 ...

  2. 商城前后端原型、商城prd文档、商城后台管理系统、商城app文档、电商需求文档、限时秒杀、电商平台、促销助力、拼团抽奖、电商文档、prd文档、电商前后端原型、电商原型、Axure电商系统、rp原型

    商城前后端.商城prd文档.商城后台管理系统.商城app文档.电商需求文档.限时秒杀.电商平台.促销助力.拼团抽奖.电商文档.prd文档.电商前后端原型.电商原型.Axure电商系统.rp原型 Axu ...

  3. 文档手机版_隐私条款

    文档手机版记录尊重并保护所有使用服务用户的个人隐私权.为了给您提供更准确.更有个性化的服务,文档手机版记录会按照本隐私权政策的规定使用和披露您的个人信息.但文档手机版记录将以高度的勤勉.审慎义务对待这 ...

  4. python3 chm文档下载_python3.7.0官方参考文档 最新api文档 chm_Python教程_源雷技术空间...

    资源名称:python3.7.0官方参考文档 最新api文档 chm 1.新语法特性: PEP 563, 推迟评估类型注释 2.向后不兼容语法更改: async 和 await 现在保留关键字 3.新 ...

  5. 字节跳动Java岗面试题;java帮助文档手机版

    一面: 阿里巴巴面试答案文末可以领取! 1. 触发新生代GC,如果存活对象总量大于survivor区容量,咋办 2. 如果任务很多,线程池的阻塞队列会撑爆内存的哪个区域 3. 栈在堆上吗 4. GC ...

  6. 手机html文档,手机文档html能删除吗

    手机文档html能删除.html文档是您或者手机在浏览网页的时候自动保存的网页,删了不会受到影响,反之,删除网页文件后还会使手机功能运行流畅. 超文本标记语言或超文本链接标示语言(标准通用标记语言下的 ...

  7. 金山文档手机app服务器异常,手机为什么打不开金山文档 打不开金山文档怎么办...

    最近不少朋友抱怨用手机QQ接收的文档无法用WPS打开,经过研究,原来是这么回事: 近期手机QQ客户端更新到5.3.1,并对文档的预览页面进行了调整,将[用其他应用打开]的按钮隐藏了:同时,如果用户更换 ...

  8. jacob解决freemaker下载的word文档手机无法打开问题

    java使用freemaker下载word的流程如下: 1.新建一个word模板 2.另存为xml格式 3.将xml后缀的文件后缀改成.ftl 4.将ftl中需要替换的内容使用freemaker js ...

  9. html文档 手机分页阅读,HTML书本分页(HTML book-like pagination)

    HTML书本分页(HTML book-like pagination) 如何在一个WebKit浏览器中将一个HTML文件的内容分割成一个屏幕尺寸的块来"分页"呢? 每个" ...

  10. 金山文档手机app服务器异常,为什么我的手机看不了金山文档 看不了金山文档怎么办...

    1.手机wps上找到"我的office",点击上面的"登录wps",使用有关的账号登录. 2.使用的QQ账号登录,登录成功,就可以使用wps的云文档功能了,可以 ...

最新文章

  1. 致远互联“平台+生态”抢占数字化升级新赛
  2. 拷贝构造函数的参数类型必须是引用
  3. 《你说对就队》第四次作业:项目需求调研与分析
  4. 一周一论文(翻译 总结)—— [NSDI 17] TUX2: Distributed Graph Computation for Machine Learning 面向机器学习的分布式图处理系统
  5. 金山“云”上音乐节 —— 一文带你看懂如何支持一场线上演出
  6. 黑客魔术!如何黑掉一台根本不联网的电脑
  7. virtualbox报错:Failed, trying without DKMS的解决方案
  8. 使用CXF 来发布一个 service
  9. PHP与MySQL设计模式:代理模式
  10. git提交代码的两种方法步骤
  11. CGAL:Win10 + VS2017 编译 CGAL 5.2
  12. python debug配置launch.json例子
  13. 对Linux内核tty设备的一点理解(转)
  14. Linux搭建KMS服务器激活你的Windows
  15. 商业调查——您可以下载 16 个免费问卷模板
  16. C++经典算法题-排列组合
  17. 【黑灰产犯罪研究】Web应用攻击
  18. MATLAB计算二元一次方程组
  19. 积跬步至千里:QUIC 协议在蚂蚁集团落地之综述
  20. JS--你没玩过的激流勇进

热门文章

  1. 使用百度siteapp开发网站的App-(IOS和Android版本)
  2. 统一监控报警平台架构设计思路
  3. 计算机的影视后期论文,浅谈影视后期制作-毕业论文提纲范文
  4. Word目录制作修改
  5. Equalizer并行渲染使用方法
  6. 传奇3单机显示服务器进不去,传奇3单机架设的不能进入游戏
  7. SQLmap————10、sqlmap详细命令
  8. 2022 年十大绩效考核技巧
  9. ffmpeg推rtsp流命令行:将本地.mp4文件推流(rtsp流)到EasyDarwin流媒体服务器
  10. android studio静态界面设计,2.3 使用Android Studio 简单设计UI界面