? ? 資本需求推動開發(fā)輪子。上個月柏肪,接收到用戶反饋姐刁,用著我們的 App,尤其是物流模塊的司機端耗電量特別大烦味,看下有什么辦法可以進行 iOS 性能優(yōu)化聂使?從問題看,只能猜測到 CPU 開銷比較大或者地理位置獲取時候比較耗電谬俄。我們一起去敲敲輪子柏靶,哪里需要修補下。
? ? 需求來了溃论,我們帶上?Xcode?Instruments 工具一起上屎蜓!操作過程 Xcode --> Open Developer Tool --> Instruments --> Energy Log 的方式來打開。
? ? 利用Xcode?Instruments?的 Energy Log钥勋,先看下同類 APP 中的 "58速運"?iOS客戶端?炬转,瞧瞧它耗電量主要在什么地方,也猜測下它怎么進行 iOS 性能優(yōu)化的算灸。具體按如下操作扼劈。
? ? 1、打開手機設置菲驴,點擊 "開發(fā)者"荐吵,選中 Logging。
? ? 注意(Quote Developer.apple.com)
? ? 要查看開發(fā)人員設置(下圖的"開發(fā)者")谢翎,您必須配置設備以進行開發(fā)捍靠,并在 Xcode 或 Instruments 運行時將其插入Mac沐旨。如果尚未設置您的設備森逮,請參閱配置 Xcode項目以進行分發(fā)并在設備上啟動應用程序褒侧。即使在設置了設備之后,當設備重新啟動或關閉時烟央,Developer 設置也會消失疑俭。要恢復設置婿失,請將設備重新連接到 Xcode 或 Instruments豪硅。
? ? 2懒浮、iOS 設置中的?Instruments?勾選 Energy,并點擊startRecording次伶。然后打開 "58速運" APP 跑起來学少。操作五分鐘左右 (具體看你的需要) 秧骑,再進入手機設置點擊 stopRecording乎折。
? ? 1?? 測量電量操作期間,手機不能連接數(shù)據(jù)線骂澄,這樣確保手機消耗的是手機自身的電量坟冲,以便進行實際測量。
? ? 2???啟用能量記錄后琳猫,由于 iOS 設備會在隱式地記錄與電量相關的數(shù)據(jù)私痹。由于日志記錄有效,可以全天記錄账千。即使設備處于睡眠模式匀奏,startRecording狀態(tài)下記錄會繼續(xù)進行。但是娃善,如果設備的電池完全耗盡或 iOS設備關機后会放,日志數(shù)據(jù)將會丟失咧最。
? ? 3、接著滥搭,把?iOS 設備連接 Xcode瑟匆,并打開 Instruments 中的 Energy Log栽惶,點擊工具欄中 Import Logged Data from Device。導入我們?iOS?性能優(yōu)化中能耗的數(shù)據(jù)冕象。
4渐扮、Instruments 中可以看到? "58速運" 的功耗墓律,圖中可以見到?"58速運"的?iOS 客戶端性能優(yōu)化幔亥,在 GPS 定位中下了一定的功夫。
? ? 如何優(yōu)化 APP 在設備上的耗電量
? ?可以從?官方文檔?知道齐饮,通過?Instruments?收集的數(shù)據(jù)祖驱,需要查找尖峰或其他異侈嗥В或意外活動的區(qū)域崇裁。然后拔稳,查看這些區(qū)域中的代碼以確定是否可以進行改進。
? ? Tips: Instruments??的 Energy Log?指示有 0 到 20 的級別术奖,表示應用在任何給定時間使用了多少電量轻绞,值越大表示越耗電政勃。如果 APP 電量使用水平偶爾很高,則并不一定意味著應用有問題既棺。APP 可能只需要更多的能量來完成它執(zhí)行的某些任務懒叛。例如芍瑞,它可以在執(zhí)行復雜網絡操作時使用 GPS 等,而這是有效的電量使用情況洪己。我們應該尋找的是尖峰或高能量使用區(qū)域竟贯,這些區(qū)域是意外的或可以在更優(yōu)化的時間執(zhí)行。
? ? 使用其他分析模板和儀器來測量能耗
? ? 實際中很多因素都會影響 iOS 性能優(yōu)化中的能耗拱镐。雖然?Energy Log?分析模板可以分析一系列統(tǒng)計信息,但您可以使用其他分析模板和工具來檢查和評估應用程序的能源影響哗咆。 比如下面?iOS?性能優(yōu)化常用工具?Instruments 中晌柬。
? ? ? ???Was this help article useful? Send feedback.
? ? 參考鏈接:
? ? ? ? ?Apple Developer 文檔 - 性能優(yōu)化