应用的生命周期
来源:互联网 发布:类似此岸歌声d 淘宝 编辑:程序博客网 时间:2024/06/06 17:39
/*
应用程序的声明周期
Appdelegata作为应用程序的对象,Appdelegata类在应用的生命周期的不同阶段会回调不同的方法
此类本身没有任何的功能代码,它的作用就是实现了UIApplication和ios操作系统之间的协议。该协议的方法
就是UIApplication在操作系统中的各种状态
iOS的应用的5种状态
Not running(非运行状态) 应用没有运行或者被系统终止
Inactive(前台非活跃状态) 应用进入前台状态,但是还不能接收时间处理
Active(前台活跃状态) 应用进入前台状态,能接收事件处理
Background(后台状态) 应用进入后台状态,依然能够执行代码。如果有可以执行的代码,就会执行代码。
如果没有可以执行的代码或者可执行的代码执行完毕,应用就马上进入挂起状态
Suspended(挂起状态) 应用进入一种“冷冻”状态,不能执行代码。如果系统的内存不足,应用会被终止
*/
#import "AppDelegate.h"@interface AppDelegate ()@end@implementation AppDelegate//应用启动并进入初始化的时候会调该方法,并发出通知。这个阶段会初始化跟视图控制器- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { NSLog(@"应用启动并进行初始化"); self.window =[[UIWindow alloc]init]; self.window.frame =[UIScreen mainScreen].bounds; self.window.backgroundColor =[UIColor yellowColor]; //是当前的窗口作为主窗口并显示在屏幕前端 [self.window makeKeyAndVisible]; // self.window.rootViewController = [[ViewController alloc]init]; //切换根视图,让aViewContraller作为根视图控制器 //self.window.rootViewController =[[AViewController alloc]init]; //切换根视图,让bVC作为根视图控制器 BViewController *bVC =[[BViewController alloc]initWithNibName:@"BViewcontroller" bundle:[NSBundle mainBundle]]; self.window.rootViewController =bVC; return YES;}//应用从活跃状态到非活跃状态时调用该方法并发出通知。这个阶段可以保存UI状态- (void)applicationWillResignActive:(UIApplication *)application { NSLog(@"活跃状态到非活跃状态");}//应用进入后台时调用该方法并发出通知。这个阶段可以保持用户数据,释放一些资源- (void)applicationDidEnterBackground:(UIApplication *)application { NSLog(@"应用进入后台");}//应用进入前台,但是还没处于活跃状态调用该方法并发送通知。这个阶段可以恢复用户数据- (void)applicationWillEnterForeground:(UIApplication *)application { NSLog(@"应用进入前台,并处于非活跃状态");}//应用进入前台,并处于活跃状态时调用该方法并发出通知,这个阶段可以保存UI状态- (void)applicationDidBecomeActive:(UIApplication *)application { NSLog(@"应用进入前台,并处于活跃状态");}//应用终止时调用该方法并发出通知- (void)applicationWillTerminate:(UIApplication *)application { NSLog(@"应用终止");}@end
#import <UIKit/UIKit.h>#import "AppDelegate.h"int main(int argc, char * argv[]) { @autoreleasepool { /* argc,argv是C标准main函数的参数,直接传递给UIApplicationMain进行相关处理即可; principalClassName:指定应用程序类,该类必须是UIApplication类或其子类。如果为nil,则用UIApplication类作为默认值 delegateClassName:指定应用程序类的代理类,该类必须遵循UIApplicationDelegate协议,此函数会根据principalClassName创建UIApplication对象,根据delegateClassName创建一个delegate对象,并将该delegate对象赋值给UIApplication对象中的delegate属性。UIApplication对象会依次给delegate对象发送不同的消息,接着会创建应用程序的main runloop(事件循环),进行事件的处理(首先会调用delegate对象的 application:didFinishLaunchingWithOptions : ) 程序正常退出时这个函数才返回。 UIApplication 对象管理事件循环和高层的应用行为 应用委托是应用的核心,该对象与UIApplication对象联合起来负责对应用的初始化过程、状态迁移过程和很多高层的应用事件进行处理 */ return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); }
0 0
- ios应用的生命周期
- ios应用的生命周期
- ios应用的生命周期
- JavaWeb应用的生命周期
- 应用的生命周期
- iOS应用的生命周期
- android 应用的生命周期
- 应用的生命周期
- iOS 应用的生命周期
- javaWeb应用的生命周期
- 了解Flex应用的生命周期
- Yii application应用的生命周期
- ios应用生命周期的事件
- 应用和视图的生命周期
- Java Web应用的生命周期
- Windows Phone应用的生命周期
- 关于iOS应用的生命周期
- 进程和应用的生命周期
- FashJson报错JsonException:except:'[' ,but 4
- LSD:一种直线检测算法简介
- 程序员进阶学习书籍参考指南
- 关于caffe的python写的层多GPU训练
- 接口的定义
- 应用的生命周期
- numpy array transpose
- Linux 学习总结(五)
- Volley 数据缓存分析
- RippleDrawable
- iptables--SNAT
- 3.vc从零开始 -- Win32项目hello world(一)
- POJ 2352 树状数组
- struts2中的拦截器