1、UIApplication的概念ios
一、每个应用都有本身的UIApplication对象,并且是单例的。app
二、经过[UIApplication sharedApplication]能够得到这个单例对象。atom
三、一个iOS程序启动后建立的第一个对象就是UIApplication对象。url
四、利用UIApplication对象,能进行一些应用级别的操做。spa
// 一、设置应用程序图标右上角的红色提醒数字 @property(nonatomic) NSInteger applicationIconBadgeNumber; // 二、设置联网指示器的可见性 @property(nonatomic,getter=isNetworkActivityIndicatorVisible) BOOL networkActivityIndicatorVisible;
3、UIApplication有个功能十分强大的openURL:方法代理
- (BOOL)openURL:(NSURL*)url; // openURL:方法的部分功能有 // 一、打电话 UIApplication *app = [UIApplication sharedApplication]; [app openURL:[NSURL URLWithString:@"tel://10086"]]; // 二、发短信 [app openURL:[NSURL URLWithString:@"sms://10086"]]; // 三、发邮件 [app openURL:[NSURL URLWithString:@"mailto://12345@qq.com"]]; // 四、打开一个网页资源 [app openURL:[NSURL URLWithString:@"http://ios.itcast.cn"]]; // 五、打开其余app程序
4、IOS应用程序5种状态code
1.Not running:对象
应用尚未启动,或者应用正在运行可是途中被系统中止。 blog
2.Inactive:生命周期
当前应用正在前台运行,可是并不接收事件(当前或许正在执行其它代码)。通常每当应用要从一个状态切换到另外一个不一样的状态时,中途过渡会短暂停留在此状态。惟一在此状态停留时间比较长的状况是:当用户锁屏时,或者系统提示用户去响应某些(诸如电话来电、有未读短信等)事件的时候。
3.Active:
当前应用正在前台运行,而且接收事件。这是应用正在前台运行时所处的正常状态。
4.Background:
应用处在后台,而且还在执行代码。大多数将要进入Suspended状态的应用,会先短暂进入此状态。然而,对于请求须要额外的执行时间的应用,会在此状态保持更长一段时间。另外,若是一个应用要求启动时直接进入后台运行,这样的应用会直 接从Notrunning状态进入Background状态,中途不会通过Inactive状态。好比没有界面的应用。注此处并不特指没有界面的应用,其实也能够是有界面的应用,只是若是要直接进入background状态的话,该应用界面不会被显示。
5.Suspended:
应用处在后台,而且已中止执行代码。系统自动的将应用移入此状态,且在此举以前不会对应用作任何通知。当处在此状态时,应用依然驻留内存但不执行任何程序代码。当系统发生低内存告警时,系统将会将处于Suspended状态的应用清除出内存觉得正在前台运行的应用提供足够的内存。
5、iOS程序的生命周期和启动过程
一、生命周期
a.程序的生命周期是指应用程序启动到应用程序结束整个阶段的全过程
b.每个IOS应用程序都包含一个UIApplication对象,IOS系统经过该UIApplication对象监控应用程序生命周期全过程
c.每个IOS应用程序都要为其UIApplication对象指定一个代理对象,并由该代理对象处理UIApplication对象监测到的应用程序生命周期事件。
二、启动过程
5、四大对象关系图