天天看點

【老文檔】手機夜間場景省電技術摘要關鍵詞:省電技術、Android、智能手機、場景省電Abstract目 錄第一章 導言第二章 夜間場景省電技術方案第三章 結論與展望

摘要

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

【老文檔】手機夜間場景省電技術摘要關鍵詞:省電技術、Android、智能手機、場景省電Abstract目 錄第一章 導言第二章 夜間場景省電技術方案第三章 結論與展望

第二章 夜間場景省電技術方案

2.1 需求與目的

2.1.1 需求

很多人說省電續航和性能是互斥,省電上去性能就減低,性能上去就耗電了。比如殺程序對省電的待機好,但是被殺掉的程序再次啟動就不能從現有記憶體中直接顯示,隻能冷啟動重新建立程序,導緻耗時長。粗看确實這樣,其實很多情況,我們隻要把握常用應用不殺就可以兼顧省電和性能了就平衡性解決這一問題。是以對場景的再次細化顯得更加重要了。

省電續航領域有着太多場景需要進一步細化,遊戲、視訊、社交、音樂、地圖、空閑場景、夜間場景、通話場景、外出場景、計算性應用場景、存儲應用場景、互動式場景、靜态界面場景,高耗電界面,發熱場景,在上述特定場景下我們可以CPU,分辨率,幀率,網絡防火牆,硬體開關,程序管理等方法進行針對性續航優化。

本次的夜間場景省電技術功能屬于省電續航場景優化的範疇,功能目前已經基本完善,目前發現華為機器也是有類似夜間場景的網絡省電,目前行業内的省電領域開始向AI場景進行細化和優化。

【老文檔】手機夜間場景省電技術摘要關鍵詞:省電技術、Android、智能手機、場景省電Abstract目 錄第一章 導言第二章 夜間場景省電技術方案第三章 結論與展望

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。本方案的實施在夜間場景下帶來優化後一倍的續航能力提升,且随着夜間待機時間越長,省電作用效果越好。

【老文檔】手機夜間場景省電技術摘要關鍵詞:省電技術、Android、智能手機、場景省電Abstract目 錄第一章 導言第二章 夜間場景省電技術方案第三章 結論與展望

2.2.2 夜間場景識别子產品

根據第一天的實際夜間時間段資料且夜間時長必須滿足大于基本睡眠時長6小時,初步預測第二天夜間時間段,例如22:00-08:00,為了讓使用者更加無感覺化,對預測夜間時間段進行去除頭尾一小時,得到預測安全夜間時間段,例如這裡結果夜間時間段變更為23:00-07:00。具體描述如下及詳細見如下圖示:

【老文檔】手機夜間場景省電技術摘要關鍵詞:省電技術、Android、智能手機、場景省電Abstract目 錄第一章 導言第二章 夜間場景省電技術方案第三章 結論與展望

步驟如下:

  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的開啟與關閉,除此之外當使用者在夜間時間段内使用者主動亮屏會立刻恢複網絡開關操作。

具體描述如下及詳細見下圖:

【老文檔】手機夜間場景省電技術摘要關鍵詞:省電技術、Android、智能手機、場景省電Abstract目 錄第一章 導言第二章 夜間場景省電技術方案第三章 結論與展望

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、智能手機、場景省電Abstract目 錄第一章 導言第二章 夜間場景省電技術方案第三章 結論與展望

早期人們對Android手機的無外乎價格便宜、掉電快、容易發熱、越用越慢,續航和性能痛點催生了一大批手機管家類應用,發現一個功能能起到作用并拼接式組合成管家類型應用。例如降低螢幕亮度、隻根據黑白名單殺程序、關閉Wi-Fi\BT\GPRS等外設、休眠逾時縮短等存調用通用API接口的方法進行粗放式政策管控。

随着手機行業的不斷發展,Android手機褪去了山寨的外衣,手機行業也開始進行洗牌了,産品也慢慢朝着精品化、品牌化發展。各大廠商建立起性能和續航的測試,對使用者體驗重視度也在不斷提升。手機管家的功能也開始精簡化,目的讓使用者不需要知道太多技術細節不知不覺中體驗到性能和續航帶來的提升。在這一技術背後中,手機管家類應用進行大刀闊斧式優化,其中自啟動管理、背景管理涉及的程序攔截技術就是這一典型的案例。

技術總是不斷疊代更新,工業智造4.0時代的到來,人工智能技術興起,性能續航技術慢慢朝着場景式管控和AI Schedule方向發展。越來越精細化場景為精準式管控提供了更多的技術優化點,AI 建構各種場景模型或使用者畫像,為政策的預加載提供了良好指導,同一款手機在不同使用者中政策實作千機千面的智能管控方案。無感覺式技術推進帶來更好的使用者體驗。

繼續閱讀