App 流量&電量消耗優化
來自專欄 鄭幾塊
最近一段時間,和開發大大們在思考 App 如何優化流量&電量的消耗,查看了一些資料,也總結了一些可能的優化點。不過,還缺少了優化的目標和方向,比如優化到什麼程度是理想的狀態,這方面會持續思考噠。
接下來把,近一段時間的總結和思考發給大家,一起進步咯:
總結點:
1.App 下載消耗流量,包的大小,下載網路環境等
2.App 和伺服器數據傳輸:數據量數據格式 ProtoBuffer、JSON與XML對比等
3.App 向伺服器請求協議次數,介面合併的可能性
4.介面數據結構難易程度
5.伺服器傳給 App 的圖片格式,以及是否壓縮
6.緩存機制
7.升級和數據獲取方式:增量升級
8.伺服器向 App 傳遞數據的格式:在進行大數據量下載時,盡量使用 GZIP 方式下載
9.若網路情況下傳遞圖片質量較低的話也能減少流量消耗
10.APP從伺服器下載文件或上傳文件給伺服器斷點續傳能力
11.如果APP和伺服器實時性數據傳輸要求不高的話,慎用長連接;長連接需要雙方不斷的發送鏈路檢測包,維持連接狀態,這也會消耗網路流量。這個不太理解?
12.下載/同步媒體庫內容傳輸考慮
13.電量低到一定程度的時候是不是可以區別對待?如何區別?是否有可能檢測到電量情況?(假設)
14.不同網路狀態下是不是可以區別對待?如何區別?(假設)
Wi-Fi 比蜂窩數據,包括2G(GPRS)、3G更省電:
a)盡量在 Wi-Fi 下傳輸數據,在有 Wi-Fi 的時候做預載入,比如應用中心的 zip 包、手Q web 類應用的離線資源等;
b)非 Wi-Fi 下,盡量減少網路訪問,每一次後台交互都要考慮是否必須。雖然 Wi-Fi 接入方式已經佔到移動互聯網用戶的50%,但是是有些手機設置為待機關閉 Wi-Fi 連接,即便有 Wi-Fi 信號也只能切換到蜂窩數據
15.SD 卡讀寫操作
16.程序的執行的 timer 定時器(例如 IM 中的心跳包,用系統的 Alarm 優化)
參考:
http://blog.csdn.net/lhd201006/article/details/50546847
http://blog.csdn.net/tskyfree/article/details/46877671
http://blog.csdn.net/xjbclz/article/details/52028848
如何設計API的限流(Rate Limit)功能:4種類型限流器圖解
推薦閱讀:
※從「商業模式畫布」看產品的價值主張和用戶需求
※互聯網產品經理分類(最全的回答)
※肺結節人工智慧輔助診斷應用於浙江省人民醫院,龔主任演示如何在CT片子中找結節
※概念篇(1): 什麼是PV、UV、IP、VV、CV?
※我眼中的產品分析報告