android省電開發
⑴ Android App性能優化之耗電優化
在移動設備中,電池的重要性不言而喻,沒有電什麼都幹不成。對於操作系統和設備開發商來說,去追求更長的待機時間,耗電優化一直沒有停止。而對於一款應用來說,並不能忽略耗電問題,特別是那些被歸為「電池殺手」的應用,最終的結果是被卸載。因此,應用開發者在實現需求的同時,需要盡量減少電量的消耗(本文針對Android App進行分析)。
App耗電的原因其實很多,這里我就講以下幾種優化方案,優化方案的反面就是他的原因了,幾種優化方案如下:
1.合理的使用wake_lock鎖,wake_lock鎖主要是相對系統的休眠(這里就是為了省電,才做休)而言的,意思就是我的程序給CPU加了這個鎖那系統就不會休眠歲脊了,這樣做的目的是為了全力配合我們程序的運行。有的情況如果不這么做就會出現一些問題,比如微信乎襲滲等及時通訊的心跳包會在禪世熄屏不久後停止網路訪問等問題。所以微信裡面是有大量使用到了wake_lock鎖。
2.使用jobScheler2,集中處理一些網路請求,有些不用很及時的處理可以放在充電的時候處理,比如,圖片的處理,APP下載更新等等;
3.計算優化,避開浮點運算等。
4.數據在網路上傳輸時,盡量壓縮數據後再傳輸,建議用FlatBuffer序列化技術,這個比json效率高很多倍,不了解FlatBuffer,建議找資料學習一下。
App耗電分析所用到的工具
App耗電高說到底無非是因為代碼不合理造成的,其中存在的一些問題,我們通過調試也很難定位到。在這里,我給大家分享一款工具,那就是「友盟+u-apm」應用性能監控平台了,是為了幫助開發者監測app應用使用的。它可以實時監測到app性能方面的問題,定位到問題所在處,開發者可以針對問題進行解決並修復。
友盟還通過輕量級的集成接入即可擁有實時、可靠、全面的應用崩潰、ANR、自定義異常等捕獲能力,及卡頓、啟動分析等性能能力,支持多場景、多通道智能告警監控,幫助開發者高效還原異常、卡頓用戶的訪問路徑和業務現場,縮短故障排查時間。
另外,友盟還提供了雲真機測試能力,提供了海量Android、iOS真機,通過資源集中管理,合理調度分配,為開發者提供發版前測試、發現線上問題後復現等場景使用,助力開發者平衡成本與需求,提升研發效率。助力開發者從研發測試質量驗收到線上問題復現排查,保障應用品質,提升測試效率。在雲真機測試期間自動採集崩潰信息,提供詳盡的崩潰報告協助篩查,真正實現監控測試全流程深度打通。為移動開發者提供了靈活地測試操作界面,支持ADB調試、WEB遠程調試、掃碼、抓包、虛擬定位等測試功能,並提供了測試報告供開發者後續查看。
友盟作為一款監測工具,可以幫助各位開發者監測app性能問題,還可以減輕開發者的負擔和壓力,簡直就是開發者的「得力小幫手」!