app的生命周期

转自幻想乡的技术宅

app状态

  • not running : 程序未启动
  • inactive :程序在前台运行,但是没有接收到事件
  • active : 程序在前台接收到事件
  • background : 程序进入后台
  • suspended : 挂起,程序在内存中,但是系统会随时清除应用
状态转换示意图
photo


AppDelegate的代理回调

  1. 应用进入前台


    1
  2. 应用进入后台


    2
  3. 基于警告式响应中断


    3

    需要的操作:在applicationWillResignActive中

    • 停止timer和其他周期性的任务
    • 停止正在运行的请求
    • 暂停视频播放
    • 暂停游戏进行
    • 减少OpenGL ES的帧率
    • 挂起任何分发的队列和不重要的操作队列(你可以继续处理网络请求或其他时间敏感的后台任务)
      注:当程序回到active,上述停止的任务重新开始(游戏任然暂停)
  4. 应用进入后台


    4

    需要的操作:保存用户数据或状态信息到磁盘

  5. 应用返回前台


    5
  6. 程序终止
    applicationWillTerminate:保存数据或状态
    程序符合以下情况之一,只要进入后台或挂起就会终止
    • iOS4.0以前的系统
    • APP是基于iOS4.0之前系统开发的
    • 设备不支持多任务
    • 在plist中包含了UIApplicationExitsOnSuspend键
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容