IOS 程序生命周期的原理

一、UIApplication 生命周期

  每一个IOS应用程序都包含一个UIApplication对象,IOS系统通过UIApplication对象监控应用程序生命周期全过程。每一个应用程序都会为UIApplication对象指定一个代理对象,该代理对象用于处理UIApplication对象监控生命周期事件。

二、IOS应用程序拥有5种状态

  1. Not Running: 应用程序还没有启动,或者应用程序正在运行,中途被系统停止。
  2. Inactive:应用程序正在前台运行,但是,并不接收事件。(当前或者正在执行其它代码)
  3. Active : 当前应用程序正在前台运行,并且接收事件。
  4. Background:应用程序处在后台,并且,还在执行代码。
  5. Suspended:应用程序处在后台,并且停止执行代码。

 

三、代理对象UIApplicationDelegate对象:负责处理UIApplication在生命周期监控的事件。

四、在UIApplication代理对象,与生命周期有关的函数:

复制代码
 1 // 当app进入非活动状态执行,此期间app不接收消息或事件
 2 - (void) applicationWillResignActive: (UIApplication *) application
 3 
 4 // 当app进入活动状态执行,正好与上面方法相反
 5 - (void) applicationDidBecomeActive: (UIApplication *) application
 6 
 7 // 当app被推送到后台时执行,需要设置在后台时程序继续运行,在此方法中设置
 8 - (void) applicationDidEnterBackground: (UIApplication *) application
 9 
10 // app将要被推送到前台时执行
11 - (void) applicationWillEnterForeground: (UIApplication *) application
12 
13 // app将要退出时执行,需要完成数据保存或者数据清理工作
14 - (void) applicationWillTerminate: (UIApplication *) application
15 
16 // iphone设备只有有限内存,当app需要分配更多内存时,OS会终止app运行,在终止运行前会调用此方法。
17 - (void) applicationDidReceiveMemoryWarning: (UIApplication *) application
18 
19 // 当程序载入后执行
20 - (void) applicationDidFinsihLaunching: (UIApplication *) application
21 
22 // 当通过URL时执行
23 - (BOOL) application: (UIApplication *) application handleOpenURL: (NSURL *) url 
复制代码

 

五、UIViewApplication 生命周期

posted @   naray  阅读(223)  评论(0编辑  收藏  举报
编辑推荐:
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
阅读排行:
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 数据库服务器 SQL Server 版本升级公告
· 程序员常用高效实用工具推荐,办公效率提升利器!
· C#/.NET/.NET Core技术前沿周刊 | 第 23 期(2025年1.20-1.26)
点击右上角即可分享
微信分享提示