iOS 应用及视图生命周期初探

应用及视图的生命周期

应用生命周期

  • 从点击iOS屏幕的应用图标启动应用开始,到应用完全退出内存为止,期间的所有应用程序行为

视图生命周期

  • 从视图开始从nib文件或storyboard文件中加载,到最后视图从内存中卸载,期间的所有与视图相关的行为

应用状态

  • Not Running

    • 应用未被启动或被系统或用户终止
  • Inactive

    • 过渡状态
    • 处于前台运行,但不能接收事件
  • active

    • 正常状态
    • 能够接收事件
    • 没有特别的约束
  • Background

    • 会执行代码,但应用不可见
    • 处理如下载,定位,remote notification
  • Suspend

    • 应用在内存,但没有执行代码
    • 系统将没有未完成任务的后台程序置为suspend
    • 系统可能会在任意时刻将Suspend程序终止,以腾出空间给其他程序
  • 状态迁移

    • iOS 应用及视图生命周期初探_第1张图片
      State changes.png

随状态改变而调用的方法

  • 启动时 Launch time
    • application:willFinishLaunchingWithOptions: 用户点击图标时调用,第一次可以添加代码的地方
    • application:didFinishLaunchingWithOptions: 上面调用完后调用
    • 应用生命周期内只调用一次
    • 放置一次性的数据加载,初始化等操作,提高效率
  • 转向前台 Transitioning to the foreground
    • applicationDidBecomeActive:
    • 可能会多次被调用
  • 用户点击Home
    • applicationWillResignActive: 离开前台的时候就会调用
    • applicationDidEnterBackground: 进入后台咯
  • 用户再次点击应用图标
    • applicationWillEnterForeground: 从后台调出的时候就会调用
    • applicationDidBecomeActive: 变为活跃状态
  • 应用这次要被杀死累
    • applicationWillTerminate:
    • 只有在应用处于运行状态才会执行此方法
    • 若程序处于Suspend状态则不会调用
    • 文档如是说

你可能感兴趣的:(iOS 应用及视图生命周期初探)