在qt實現手機通訊錄系統 移動端通訊錄的實現方式

2021-10-13 12:21:37 字數 462 閱讀 5776

最近優化了通訊錄拉取的實現方式,對它進行整理。

之前的實現方式如下:

統一的協議,定義tid欄位,由客戶端填充具體的tid,來拉取使用者的資訊,由於資料庫不屬於我們,客戶端又需要排序等資訊,所以每次拉取,都必須全量拉取。

結果:協議失敗率高,客戶端經常要等比較久的時間,才能拉取完整。消耗客戶端的流量,其中有很多不必要的資訊,沒必要重複拉取。

優化後的方式:

關係鏈資訊,由於我們只有備份資料庫,所以無法完整的了解關係鏈的變化情況(增加,修改,可以通過時間戳了解,但是刪除好友,無法事實的知道。),所以,我們統一採用md5值的方式進行比較。

使用者端請求上來,會帶上次的md5值,伺服器進行對比,如果md5值有變化,則把新的關係鏈資訊壓縮,傳送給客戶端。

靜態資訊,客戶端隔一段時間定時拉取(目前是一天),除非使用者主動來拉取,不然不會有變化。

通過這個優化,協議的成功率,提高了5%,還是蠻有成就感的。

手機通訊錄系統C

include include include define max 1000 通訊錄的最大容量 using namespace std 定義聯絡人結構體 struct lxr lxr info max 建立通訊錄 int total 0 通訊錄中總人數 void showmenu 1 顯示功能選擇...

C語言實現手機通訊錄系統

include include include include include define node struct node node strphead 全域性變數,煉表頭指標 node strpcurrent 用於指向當前正在操作的結點 函式原型宣告 void handlechoice f in...

uni app呼叫移動端通訊錄 js

nativecommon,通過native.js呼叫原生api var nativecommon else break case android nativecommon.contacts.android.visitcontacts function name,phonenumber break d...