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