Execution States for Apps

https://developer.apple.com/library/content/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/TheAppLifeCycle/TheAppLifeCycle.html

App 的执行状态的变化由系统控制,以此来响应系统中的行为变化。比如用户按了 Home 键,来了电话,或者其他变化发生,当前正在运行的 app 需要对此作出反应。

App 的执行状态有以下几种:

  • Not running:app 没有被启动或者被系统终止了(terminated by the system)
  • Inactive:app 在前台运行但是目前没有接收事件。(此时可能在运行其他代码。)此状态通常只是短暂停留,作为去另一个状态的过渡状态。
  • Active:app 在前台运行且正在接收事件。这是前台 App的正常状态。
  • Background:app 在后台且在运行代码。大多数 app 只是在进入暂停状态的过程中,简短的进入了这个状态。但是,如果 app 请求了额外的执行时间就能够在这个状态停留一段时间。此外,一个在后台启动的 app 会直接进入这个状态,而不是 inactive state。关于如何在后台执行代码,查看Background Execution。
  • Suspended:app 在后台且没有执行代码。系统自动将状态移动到这个状态,并且不会通知。当被暂停,app 停留在内存中但是不执行任何代码。如果内存过低的状态产生,系统将自动清除被暂停的 app,来为前台应用留出更多空间。


    Execution States for Apps_第1张图片

你可能感兴趣的:(Execution States for Apps)