只在后臺線程中使用同步請求, 除非確定請求訪問的是本地文件資源, 否則請不要在主線程上使用
只有在知道返回的數(shù)據(jù)不會超出應(yīng)用的內(nèi)存時才使用同步請求. 記住, 整個響應(yīng)體都會位于代碼的內(nèi)存中. 如果響應(yīng)很大, 那么可能導(dǎo)致應(yīng)用出現(xiàn)內(nèi)存溢出問題. 此外, 當(dāng)代碼將響應(yīng)解析為所需的格式時可能需要復(fù)制返回的數(shù)據(jù), 這會導(dǎo)致內(nèi)存增加一倍
在處理返回的數(shù)據(jù)前, 驗證錯誤與調(diào)用返回的 HTTP 響應(yīng)狀態(tài)碼
如果源 URL 需要驗證, 那么不要使用同步請求, 因為同步框架并不支持對認(rèn)證請求作出響應(yīng). 唯一的例外是 BASIC 認(rèn)證, 因為這時認(rèn)證信息可以通過 URL 或請求頭進(jìn)行傳遞. 以這種方式執(zhí)行認(rèn)證會增加應(yīng)用與服務(wù)器之間的耦合度, 從面導(dǎo)致整個應(yīng)用變得更加脆弱. 如果請求不使用 HTTPS 協(xié)議, 那么還會在明文中傳遞認(rèn)證信息
如果需要向用戶提供進(jìn)度條, 那么不要使用同步請求, 因為請求是原子的, 無法提供中間的進(jìn)度指示信息如果在請求完成前需要取消, 那么不要使用同步請求
同步請求