美文网首页iOS技术文章
知识小总结八 (VC的view属性,APP生命周期)☀️

知识小总结八 (VC的view属性,APP生命周期)☀️

作者: LeaderBiao | 来源:发表于2017-02-14 11:57 被阅读22次

    视图控制器获取view的步骤

    
    view是视图控制器的一个属性,因为view需要占用较大的内存,所以只有当view需要显示时,才会对其进行加载(即懒加载)。
    
    一旦控制器的view属性被创建,viewDidLoad方法就会调用(且只调用一次),可以在该方法里对视图进行修改,或者其他数据的初始化。但是,此时view的window属性为nil,也就是说视图还没有真正的显示,所以,不应该在此方法中对视图的大小尺寸等进行修改。
    
    

    总结

    当视图控制器第一次使用view时,loadView总是会被调用
    如果我们重写loadView,我们必须用代码设置view
    如果我们没有重写loadView,视图控制器会调用默认的loadView实现方法——先尝试去nib文件加载view,如果没有,会设置为一个通用的UIView对象
    

    应用程序的状态

    APP的状态有
    Not running未运行: 程序没启动。
    Inactive未激活: 程序在前台运行,不过没有接收到事件。在没有事件处理情况下程序通常停留在这个状态。
    Active激活: 程序在前台运行而且接收到了事件。这也是前台的一个正常的模式。
    Backgroud后台: 程序在后台而且能执行代码,大多数程序进入这个状态后会在在这个状态上停留一会。时间到之后会进入挂起状态(Suspended)。有的程序经过特殊的请求后可以长期处于Backgroud状态。
    Suspended挂起: 程序在后台不能执行代码。系统会自动把程序变成这个状态而且不会发出通知。当挂起时,程序还是停留在内存中的,当系统内存低时,系统就把挂起的程序清除掉,为前台程序提供更多的内存。

    于APP状态相关的使用

    在APPDelegate文件中,可得到各运行状态代理的回调,最常用的有
    application:didFinishLaunchingWithOption: 启动基本完成程序准备开始运行
    applicationWillResignActive: 当应用程序将要入非活动状态执行
    applicationDidBecomeActive: 当应用程序进入活动状态执行
    application:DidEnterBackground: 当程序被推送到后台的时候调用
    applicationWillTerminate: 当程序将要退出时被调用

    当应用程序进入后台时,我们应该做些什么?

    保存用户数据或状态信息,所有没写到磁盘的文件或信息,在进入后台时,最后都写到磁盘去,因为程序可能在后台被杀死。
    
    尽可能多的释放内存,因为当内存不足时,会终止一些挂起的程序来回收内存,那些内存最大的程序首先被终止。
    

    相关文章

      网友评论

        本文标题:知识小总结八 (VC的view属性,APP生命周期)☀️

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