Android網路請求優化

2021-08-19 02:39:57 字數 1679 閱讀 5980

學習自trinea大神還有一些另外的文章

分析工具

1.android內建的profile(monitor)

不僅可以看網路,還可以看記憶體,cpu

2.提供弱網的工具,測試弱網;還有wifi情況

3.截獲網路包,進行分析

url一般是用網域名稱直接請求的,雖然local dns會快取,但是最好還是能用其他的方式

1.直接請求ip

4大策略

1.提前取

2.分優先順序,比如你要拿資料來更新ui,這個優先順序需要高一點;比如你要點贊,你可以先ui顯示了,再去進行乙個post

3.打包,比如點讚,使用者可能會瞎操作,不斷點讚,取消贊,你可以在這個頁面退出後,進行乙個打包;打包的場景很多,最重要的原因是keep-alive機制,不打包=浪費資源(打包還可以節省電量)

4.錯峰,不是非要100個請求在同一時間進行的,你的網路會在一瞬間被阻塞,完全可以分批,10個10個來。

壓縮body

伺服器傳gzip的body給你,okhttp會自動解析的,前提是你不指定accepte-encoding

okhttp gzip壓縮request body

(官方原始碼)

};壓縮header

spdy演算法:deflate

http2.0演算法:hpack

http1.0和1.1不能壓縮,不過可以手動做快取,相同header用密文id表示

精簡文字格式

二進位制protobuf

使用json的時候,合併多個物件的field為乙個list,這樣可以省去多餘的field名

精簡格式

大圖用webp取代jpg,再不用webp就out啦!

小圖用svg取代png

增量更新

多用於版本公升級,服務端bsdiff,客戶端bspatch

快取強制expire,cache control

對比modified,etag

大檔案快取

斷點續傳

多連線jobscheduler

先ui,後資料的場景

idhandler拿真正ui顯示時機,先顯示io快取資料

點讚

Android網路請求優化

安全方面 首先是防劫持,我們可以考慮使用 httpdns。這裡需要注意 httpdns 只是乙個概念,並不是乙個現有的開源庫。它與傳統的 dns 解析的區別在於 httpdns 會繞過運營商的 dns 伺服器,直接與 dns 伺服器的 80 埠進行互動,有效地防止了網域名稱劫持。關於 dns 解析的...

Android 網路優化

最近一直在看okgohttp 開源 並嘗試著去修改它,總結一下 網路優化 1.減少網路請求的數量,盡量合併的網路請求,一次查詢中完成多個零散資料的查詢 2.做好網路快取 3.多執行緒處理,耗時工作及計算放在子執行緒中 4.設定超時時間,資料壓縮傳送,比如從伺服器端獲取列表資料,如果可以最好是能將伺服...

Android 網路優化

非常值得學習的文章,別的不說,網路請求成功率從95到 99.5這個資料 代表一切了。工具profile檢視網路請求 debug log看報文 charles看報文 mock 直接使用url 網路協議 可以考慮摒棄http,僅使用tcp,原因有3點 1.http無法優化弱網 2.http需要dns解析...