zoukankan      html  css  js  c++  java
  • 应用程序的生命周期:appdelegate每个方法的介绍

    一。appdelegate每个方法的简单介绍:
     
    1、应用程序启动,并进行初始化时候调用该方法:aaaplication:didFimnishLanuchingWithOptions:
     
    2、应用进入前台并处于活动状态时候调用:applicationDidBecomeActive:
     
    3、应用从活动状态进入到非活动状态:applicationWillResignActive :
     
    4、应用进入到后台时候调用的方法:applicationDidEnterBackground:
     
    5、应用进入到前台时候调用的方法:appplicationWillEnterForeground:
     
    6、applicationWillTeminate:应用被终止的状态:
     
    二。配合场景,什么时候会调用上面的什么组合
     
    第一种场景:程序开启,到能使用;
     
    就是:没有运行(NOT RUNNING)------->没有激活(INACTIVE) ------>激活( ACTIVE)
    这个过程会调用的方法和发出的通知有:
     
    过程1:没有运行(NOT RUNNING)------->没有激活(INACTIVE);
    这个过程会调用aaaplication:didFimnishLanuchingWithOptions:方法,发出UIApplicationDidFinishLaunchingNotification通知;
     
    过程2:没有激活(INACTIVE) ------>激活( ACTIVE)
    这个过程会调用applicationDidBecomeActive:方法,发出UIApplicationDidBecomeActiveNOtification通知;
    附上一个简单的图:
    总结:
    1.从这个过程我们就知道,appdelegate的每个方法会对应一个通知,没当调用那个方法的时候,就会发出那个方法对应的通知;
    2.下面的几个场景,我就不一一说明,直接贴图了;
    3.再贴图之前,先把appdelegate每个方法对应的通知都贴出来;
    方法 本地通知
    aaaplication:didFimnishLanuchingWithOptions: UIApplicationDidFinishLaunchingNotification
    applicationDidBecomeActive UIApplicationDidBecomeActiveNOtification
    applicationWillResignActive  UIApplicationWillResignActiveNotification
    applicationDidEnterBackground UIApplicationDidEnterBackgroundNotification
    appplicationWillEnterForeground UIApplicationwillEnterForegroundNotification
    applicationWillTeminate UIApplicationWillTeminateNotification
     
     
    第二种场景:点击Home键---程序挂起或者进入后台;(一种是退到后台,没有退出程序;一种是退到后台,且退出程序)
    这里分两种情况:
    情况1:点击home键,退到后台挂起(默认情况);注意:挂起状态会占用内存;
     
    情况2:点击home键之后,退到后台,直接终止;
    注意:默认的情况下,程序进入后台是不会终止程序的;如果要做到可以退出程序,到plist文件修改一下的值:
    找到Application does not run in backgroud设置为yes,在文件中保存的键应该是UIApplicationExitsOnSuspend设置为Yes。
     
    第三种场景:挂起的程序重新运行
    注意:application:didFinishLaunchingWithOptions:这个方法只会在程序初始化的时候才会被调用,而且只调用一次;
    所以这里不会调用didFinishLaunchingWithOptions这个方法;
  • 相关阅读:
    HTML基础
    一次由任意文件漏洞开始的渗透测试过程
    谈一谈信息泄露这件事
    浅谈任意文件下载漏洞的利用
    [原创] 一次渗透测试过程--从外网进内网
    一次绕过360+诺顿的提权过程
    漏洞挖掘高级方法
    新型勒索软件Magniber正瞄准韩国、亚太地区开展攻击
    Microsoft Edge 浏览器远程代码执行漏洞POC及细节(CVE-2017-8641)
    Office远程代码执行漏洞CVE-2017-0199复现
  • 原文地址:https://www.cnblogs.com/williamliuwen/p/5366482.html
Copyright © 2011-2022 走看看