iOS应用程序的生命周期

1.iOS应用程序的状态有五种,分别如下:

1)Not running:App还没有运行

2)Active:App运行在foreground和正在接收事件

3)Inactive:App运行在foreground但没有接收事件

4)Background:运行在background和正在执行代码

5)Suspended:运行在background但没有执行代码


2.当进行以下状态转换的时候,AppDelegate会执行相关的回调方法来响应App的状态改变

import UIKit

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?

    //在显示App给用户之前执行的最后的初始化操作
    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
        print("application:didFinishLaunchingWithOptions:")
        return true
    }
    
    //App将要从foreground切换到background需要执行的操作
    func applicationWillResignActive(application: UIApplication) {
        print("applicationWillResignActive")
    }

    //App已经进入background后需要执行的操作
    func applicationDidEnterBackground(application: UIApplication) {
        print("applicationDidEnterBackground")
    }

    //App将要从background进行foreground需要执行的操作,此时应用程序的状态不是Active
    func applicationWillEnterForeground(application: UIApplication) {
        print("applicationWillEnterForeground")
    }

    //App切换到Active需要执行的操作
    func applicationDidBecomeActive(application: UIApplication) {
        print("applicationDidBecomeActive")
    }

    //App将要终止执行的操作
    func applicationWillTerminate(application: UIApplication) {
        print("applicationWillTerminate")
    }


}

1)当第一次启动App的时候,应用程序的状态将从not running状态切换到inactive状态,此时调用

application:didFinishLaunchingWithOptions:方法;然后由inactive状态切换到active状态,此时调用applicationDidBecomeActive方法。


2)当App发生中断的时候,应用程序的状态将从active状态切换到inactive状态,此时调用

applicationWillResignActive方法。


3)当切换App的时候

A:切换到另一个App或者按home键或者锁屏

iOS应用程序的状态将从active状态切换到inactive状态,执行applicationWillResignActive方法;然后从inactive状态切换到running状态,执行applicationDidEnterBackground方法。


B:然后回到原App

iOS应用程序的状态从running状态切换到inactive状态,执行applicationWillEnterForeground方法;然后从inactive状态切换到active状态,执行applicationDidBecomeActive方法。


4)当内存不足需要终止应用程序的时候,会在应用程序终止之前调用applicationWillTerminate方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值