但凡做移動開發(fā)的人,必然都會反復(fù)提到用戶體驗,在網(wǎng)絡(luò)上消耗很長時間的應(yīng)用也屬于不好的用戶體驗。測量用戶真實的在網(wǎng)絡(luò)上消耗掉的時間是一個很重要的事情記錄設(shè)備HTTP請求時,建立tcp連接消耗的時間,服務(wù)端響應(yīng)數(shù)據(jù)時用了多長時間接收了多少數(shù)據(jù),設(shè)備所在地域、時間、運營商等來分析用戶的網(wǎng)絡(luò)情況,借此數(shù)據(jù)才能知道哪些地方需要改進。通常我們最直接的感受到服務(wù)器響應(yīng)請求的時間,是由幾個部分組成:TCP協(xié)議三次握手,也就是socket建立連接的時間。服務(wù)端程序的執(zhí)行時間,例如Django的代碼執(zhí)行和MySQL的查詢等。數(shù)據(jù)接收,這個不難理解,就是服務(wù)器輸出的內(nèi)容到達設(shè)備的時間。以上三個部分當(dāng)中,TCP連接的所消耗的時間是也是一個非常重要的指標(biāo)。ASIHTTPRequest提供了測量連接時間的能力,因為它是基于CFNetwork,NSURLConnection就沒有這種能力了。所以想要對ASIHTTPRequest有經(jīng)驗的開發(fā)者提示如何Hook建立連接成功的時候。
測量建立tcp連接所消耗的時間,基于HTTP的API請求,改進網(wǎng)絡(luò)IO的時間消耗也是一種用戶體驗的提升。
慕森王
2019-04-07 09:38:23