埋点全解 2:iOS 应用程序状态
大家都知道,對于一個標準的 iOS 應用程序來說,在不同 的時期會有不同的狀態(tài),如下圖所示。
圖 iOS 應用程序狀態(tài)轉換圖
正常情況下,iOS 應用程序主要有五種常見的狀態(tài)。
? Not running
非運行狀態(tài)。指應用程序還沒有被啟動,或者已被系統(tǒng)終止。
? Inactive
前臺非活動狀態(tài)。指應用程序即將進入前臺狀態(tài),但當前 未接收到任何事件(它可能正在執(zhí)行其它代碼)。應用程 序通常只在轉換到其它狀態(tài)時才會短暫地進入這個狀態(tài)。
? Active
前臺活躍狀態(tài)。指應用程序正在前臺運行,可接收事件并 進行處理。這也是一個 iOS 應用程序處于前臺的正常模式。
? Background
進入后臺狀態(tài)。指應用程序進入了后臺并可執(zhí)行代碼。大 多數(shù)應用程序在被掛起前都會短暫地進入這個狀態(tài)。
? Suspended
掛起狀態(tài)。指應用程序進入后臺但沒有執(zhí)行任何代碼,系 統(tǒng)會自動的將應用程序轉移到此狀態(tài),并且在執(zhí)行此操作 之前不會通知應用程序。掛起時,應用程序會保留在內存中, 但不執(zhí)行任何代碼。當系統(tǒng)出現(xiàn)內存不足情況時,系統(tǒng)可 能會在未通知應用程序的情況下清除被掛起的應用程序, 為前臺應用程序盡可能騰出更多的運行資源。
在應用程序不同狀態(tài)轉換的過程中,系統(tǒng)會回調實現(xiàn)了 UIApplicationDelegate 協(xié)議的類的一些方法,并發(fā)送相 應的本地通知(系統(tǒng)會先回調相應的方法,待回調方法執(zhí) 行完后,再發(fā)送相應的通知),回調方法和本地通知的對 應關系可參考如下表所示。
關于 iOS 應用程序狀態(tài)更詳細的內容,及 iOS 更多內容,可點擊下方白皮書了解
?
《iOS 全埋點技術白皮書》 | 神策圖書館 | 神策數(shù)據(jù)?www.sensorsdata.cn
總結
以上是生活随笔為你收集整理的埋点全解 2:iOS 应用程序状态的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 写作—开启技术成长之路
- 下一篇: 用户流失的事前预警与事后分析