當(dāng)編寫在后臺執(zhí)行的 iOS 代碼時:
- 確定要使用哪個后臺刷新 API。對于需要很多秒才能完成的網(wǎng)絡(luò)請求,NSURLSession 會很有幫助。使用 iOS 提供的機會性后臺抓取代理對于需要按計劃獲取內(nèi)容的 app 會很有幫助。
- 遠(yuǎn)程推送通知可以是觸發(fā)后臺刷新的有效機制。
Log 執(zhí)行狀態(tài)的變更,在有和沒有連接調(diào)試器的真機上測試,小心模擬器帶來的奇怪問題。是用開源的 iOS logging 庫,例如 CocoaLumberjack 或 XCGLogger 會很有幫助。 - 訪問鑰匙串或使用 iOS 數(shù)據(jù)保護功能時要小心。后臺刷新可能發(fā)生在鎖屏?xí)r,可能導(dǎo)致讀寫受保護的資源出現(xiàn)問題。
- 高性能后臺代碼很關(guān)鍵:iOS 會優(yōu)先處理前臺的 App,嚴(yán)格限制 App 完成后臺任務(wù)的資源和時間。
隨著移動數(shù)據(jù)使用量的增加和新的 iOS 9 功能(如 iPad 上的多任務(wù)處理拆分視圖),管理應(yīng)用執(zhí)行狀態(tài)對于構(gòu)建高質(zhì)量應(yīng)用程序非常重要——App 打開時持續(xù)不斷的進度指示條肯定會讓用戶很煩。后臺刷新是蘋果對開發(fā)人員的妥協(xié),旨在平衡用戶體驗與使用數(shù)據(jù)網(wǎng)絡(luò)和高網(wǎng)絡(luò)延遲時導(dǎo)致的電池消耗。利用后臺抓取 API 保持信息最新,并注意避免常見的坑,這有助于滿足用戶對 App 始終快速且永不崩潰的期望。
作者:張嘉夫
鏈接:http://www.itdecent.cn/p/9882e98adaee
來源:簡書
簡書著作權(quán)歸作者所有,任何形式的轉(zhuǎn)載都請聯(lián)系作者獲得授權(quán)并注明出處。