APP開發(fā)實(shí)戰(zhàn)120-APP網(wǎng)絡(luò)流量優(yōu)化

30.2網(wǎng)絡(luò)流量優(yōu)化

1 目前用戶基本都是通過網(wǎng)絡(luò)下載APP和更新APP版本,減少APP大小,就可以有效減少用戶消耗的網(wǎng)絡(luò)流量。

2 目前友盟已經(jīng)支持增量升級APP的功能,這樣即使APP有10M大小,但如果改動(dòng)部分只有10K,利用增量升級功能,用戶只需下載10K的數(shù)據(jù),就可以實(shí)現(xiàn)升級APP的版本。最好利用增量升級功能實(shí)現(xiàn)APK的更新。

3 APP和服務(wù)器端傳輸數(shù)據(jù)時(shí),使用數(shù)據(jù)量小的數(shù)據(jù)格式,如JSON格式的數(shù)據(jù)量就比XML格式的數(shù)據(jù)量小;ProtoBuffer格式的數(shù)據(jù)量比JSON格式的還小。

4 APP端盡量減少向服務(wù)器端發(fā)送請求的次數(shù),能合并的接口盡量合并;每發(fā)一次請求,雙方就都需要至少向?qū)Ψ桨l(fā)送一次HTTP的頭字段數(shù)據(jù);如果連接斷開了,還要多個(gè)和服務(wù)器的握手過程;這些都會(huì)多消耗網(wǎng)絡(luò)流量。

5 APP端和服務(wù)器端的每個(gè)接口的數(shù)據(jù)結(jié)構(gòu)都盡量簡單,每個(gè)字段對應(yīng)的內(nèi)容也盡量簡短;服務(wù)器向APP傳輸數(shù)據(jù)時(shí),只傳輸APP用到的數(shù)據(jù),無用的數(shù)據(jù)不傳輸給APP,不但可以減少流量消耗,還可以減少APP端解析數(shù)據(jù)的時(shí)間。

6 服務(wù)器把圖片數(shù)據(jù)傳遞給APP端的時(shí)候,最好都使用JPG格式的圖片,同時(shí)把圖片壓縮成APP端需要的尺寸后,再傳給給APP端,不但可以減少流量消耗,還可以減少解析圖片使用的內(nèi)存。

7 使用緩存機(jī)制,從內(nèi)存或本地存儲(chǔ)中獲取數(shù)據(jù),就不需要每次都從服務(wù)器獲取數(shù)據(jù)。

8 除了APP自身的升級采用增量升級外,APP使用的數(shù)據(jù)更新也采用增量升級方式,以減少消耗的網(wǎng)絡(luò)流量。如許多APP中都保存有全國的行政地址數(shù)據(jù),全部的地址數(shù)據(jù)量很大,但每次發(fā)生變化的數(shù)據(jù)是很少的,就可以只從服務(wù)器獲取變化部分的數(shù)據(jù),這樣就有效減少了消耗的網(wǎng)絡(luò)流量。

9 服務(wù)器向APP傳遞數(shù)據(jù)時(shí),最好采用gzip格式,就是先壓縮后,再傳給APP,以減少數(shù)據(jù)流量。

10 在2G網(wǎng)絡(luò)的情況下,服務(wù)器可以傳遞低質(zhì)量的圖片給APP,或讓用戶可以在部分頁面選擇無圖片模式,以減少網(wǎng)絡(luò)流量。

11APP從服務(wù)器下載文件或上傳文件給服務(wù)器時(shí),應(yīng)支持?jǐn)帱c(diǎn)續(xù)傳功能,可以減少許多重復(fù)的網(wǎng)絡(luò)流量消耗。

12 如果APP和服務(wù)器實(shí)時(shí)性數(shù)據(jù)傳輸要求不高的話,慎用長連接;長連接需要雙方不斷的發(fā)送鏈路檢測包,維持連接狀態(tài),這也會(huì)消耗網(wǎng)絡(luò)流量。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容