美文网首页
iOS中应用和视图的生命周期

iOS中应用和视图的生命周期

作者: forvert | 来源:发表于2016-03-23 22:06 被阅读144次

iOS中应用和视图的生命周期

一. 应用的生命周期

在写前面

在iOS中,AppDelegate是应用程序的委托对象,它继承了UIResponder类,并实现了UIApplicationDelegate协议。UIResponder类可以使子类AppDelegate能够成为应用程序委托对象,这种对象能够响应应用程序的生命周期。在应用状态跃迁过程中,IOS系统会回调AppDelegate中的一些方法,并且发送一些通知。下面列出几个主要的方法和通知。</li>

阶段一
  • 调用方法:application:didFinishLaunchingWithOptions:

  • 发出通知:UIApplicationDidFinishLaunchingNotification,应用启动并进行初始化时会调用该方法并发出通知。这个阶段会实例化根视图控制器。

阶段二
  • 调用方法:applicationDidBecomeActive:

  • 发出通知:UIApplicationDidBecomeActiveNotification,应用进入前台并处于活动状态时调用该方法并发出通知。这个阶段可以恢复UI的状态。

阶段三
  • 调用方法:applicationWillResignActive:

  • 发出通知:UIApplicationWillResignActiveNotification,应用从活动状态进入到非活动状态时调用该方法并发出通知。这个阶段可以保存UI的状态。

阶段四
  • 调用方法: - applicationDidEnterBackground:

  • 发出通知:UIApplicationDidEnterBackgroundNotification,应用进入后台时调用该方法并发出通知。这个阶段可以保存用户数据,释放一些资源。

阶段五
  • 调用方法: applicationWillEnterForeground:

  • 发出通知:UIApplicationWillEnterForegroundNotification,应用进入前台,但是还没有处于活动状态时调用该方法并发出通知。这个阶段可以恢复用户数据。

阶段六
  • 调用方法: applicationWillTerminate:

  • 发出通知: UIApplicationWillTerminateNotification,应用被终止时调用该方法并发出通知,但内存清除时除外。这个阶段释放一些资源,也可以保存用户数据。

二. 视图的生命周期

在写前面

视图是应用的一个重要组成部分,功能的实现与其息息相关,而视图控制器控制着视图,其重要性在整个应用中不言而喻.

下面具体了解下视图生命周期与视图控制器的关系。以视图的四种状态(视图创建、视图可见、视图不可见、系统低内存)为基础,在视图不同的生命周期中,视图控制器会回调不同的方法,具体如下。

一. 视图创建
  • 在视图控制器已被实例化,视图被加载到内存中时调用viewDidLoad方法,此时视图并未出现。在该方法中,通常进行的是对所控制的视图进行初始化处理。
二. 视图可见、视图不可见
  • 视图可见前后会调用viewWillAppear:方法和viewDidAppear:方法;视图不可见前后会调用viewWillDisappear:方法和viewDidDisappear:方法。

    注意:viewDidLoad方法在应用运行时只调用一次,而上述四个方法可以被反复调用。

三. 系统低内存
  • 在低内存情况下,iOS会调用didReceiveMemoryWarning和viewDidUnload方法。在iOS6之后,就不再使用viewDidUnload,而仅支持didReceiveMemoryWarning。didReceiveMemoryWarning方法主要作用是释放内存,包括视图控制器中的一些成员变量和视图的释放。

相关文章

网友评论

      本文标题:iOS中应用和视图的生命周期

      本文链接:https://www.haomeiwen.com/subject/cofrlttx.html