您的位置:首页 > 移动开发 > IOS开发

iOS应用程序的生命周期

2016-01-07 11:24 302 查看
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方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Swift iOS