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的状态改变
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方法。
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方法。
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- Apple Swift学习教程
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- 介绍 Fedora 上的 Swift
- 讲解iOS开发中基本的定位功能实现
- js判断客户端是iOS还是Android等移动终端的方法
- IOS开发环境windows化攻略
- 浅析iOS应用开发中线程间的通信与线程安全问题
- Swift中实现点击、双击、捏、旋转、拖动、划动、长按手势的类和方法介绍
- Swift编程中的泛型解析
- Swift中定义二维数组的方法及遍历方法示例
- 检测iOS设备是否越狱的方法
- .net平台推送ios消息的实现方法
- 探讨Android与iOS,我们将何去何从?