移動開發 網路流量精簡攻略

2021-06-27 22:29:43 字數 1362 閱讀 7168

作為一名移動開發者,在過去的幾年裡也做過不少的專案,今天就來寫一篇淺薄的節省網路流量的文章,希望這篇文章對所有的移動開發者,以及介面的服務端開發者都有幫助。

為什麼要精簡?(why)

1.節省使用者的流量。

因為使用者的流量可能是要付費的,為使用者節省流量是每乙個移動開發者應當牢牢記住的原則之一

2.提高網路資料載入速度。

流量精簡了,介面獲取資料的速度會有提公升,應用的一些頁面載入速度可以提公升,這點我想大家也都能理解

3.減輕伺服器壓力。

通過優化介面,減少資料量,可以提高伺服器的利用率,減少伺服器併發壓力,一次請求連線占用2s和占用20ms對伺服器來說是很大的不同

如何精簡?(how)

1.網路介面api定義精簡

(a)介面定義:

在介面的設計階段,精簡非內容的字段體積,如"productiondescription":"產品介紹***"可精簡為"pddes":"產品介紹***";刪除與內容無關的字段,現在發現還有好多介面返回類似"name":null這樣的字段,其實這種資料完全可以過濾掉。

(b)請求優化:

有一些返回資料變更不太頻繁的介面,可以考慮新增版本號來進行狀態標記,只有當介面傳送變化時才返回新資料,否則直接返回未變化讓客戶端使用快取;或者當檢測到狀態發生變化時才去請求相應的資料介面,否則不處理也是乙個不錯的減少對伺服器請求的方式。

2.使用壓縮技術

(a)對於文字資料,啟用gzip進行資料壓縮是很好的選擇,對於文字資料的壓縮能達到80%,筆者之前有乙個介面返回300k的資料,開啟壓縮後只有80k,效果明顯。在提交資料時也可以使用壓縮處理。

(b)對於資料,使用谷歌的webp格式會極大的減小尺寸,經過測試,相同清晰度下,webp格式是jpg格式的體積的30-40%左右,舉例來說,300k的jpg格式,採用webp格式進行傳輸大約只要90k。需要注意的是webp格式在某些平台和瀏覽器下是預設不支援的,可能需要相應的庫來支援,但是為了節省流量還是值得的。

3.充分利用快取

快取使用的原理相信大家都知道,通過之前儲存資料到本地,在需要時通過判斷,不再請求伺服器的相同資料,直接從本地讀取出來使用。

但是在快取中有乙個大傢伙:。如果你的應用中有較多的使用,一定要好好研究的快取使用,一般開發者自己請求的,可以按照快取策略完成。但是客戶端中有一些特殊的頁面容易被大家忽略,如客戶端中的webview中的圖,就需要開發者通過一定的手段,把webview和你的快取策略結合起來,達到完美的快取使用。關於ios下的快取與webview的結合,後續會再寫一篇詳細的文章介紹。

這篇文章總體來說比較泛,點出一些關鍵的點,希望能對開發者有所啟發。

獲取網路流量

獲取網路流量 int getnetworkpercent 第一次呼叫 getiftable 獲取必要資訊寫入 dwsize sizeof mib iftable if getiftable piftable,dwsize,false error insufficient buffer 效能計數器獲取...

網路流量監控

1.網路流量監控有什麼用?網路流量監控可以用來分析網路 2.網路流量監控技術有哪些?映象技術 sflow netstream 1.什麼是映象技術?映象技術是一種用來網路監控和故障排除的技術。2.映象技術有什麼用?映象技術可以在不影響報文正常處理流程的情況下,將映象埠的報文複製到乙份觀察埠,使用者利用...

檢視網路流量

更新yum源 yum update y 安裝epel源 yum install epel release 安裝iftop方式1 如果出現無可用包則嘗試下面安裝方式 yum install iftop y 安裝iftop方式2 yum install flex byacc libpcap ncurse...