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