纳金网
标题:
iphone程序的生命周期(执行过程) (二)
[打印本页]
作者:
奔跑的小兔
时间:
2012-6-29 15:18
标题:
iphone程序的生命周期(执行过程) (二)
iphone程序的生命周期(执行过程) (转)
现在来看协议中定义的这些需要实现的方法分别是什么作用:
1、- (void)applicationWillResignActiveUIApplication *)application
说明:当应用程序将要入非活动状态执行,在此期间,应用程序不接收消息或事件,比如来电话了
2、- (void)applicationDidBecomeActiveUIApplication *)application
说明:当应用程序入活动状态执行,这个刚好跟上面那个方法相反
3、- (void)applicationDidEnterBackgroundUIApplication *)application
说明:当程序被推送到后台的时候调用。所以要设置后台继续运行,则在这个函数里面设置即可
4、- (void)applicationWillEnterForeground
UIApplication *)application
说明:当程序从后台将要重新回到前台时候调用,这个刚好跟上面的那个方法相反。
5、- (void)applicationWillTerminate
UIApplication *)application
说明:当程序将要退出是被调用,通常是用来保存数据和一些退出前的清理工作。这个需要要设置UIApplicationExitsOnSuspend的键值。
6、- (void)applicationDidReceiveMemoryWarning
UIApplication *)application
说明:iPhone设备只有有限的内存,如果为应用程序分配了太多内存操作系统会终止应用程序的运行,在终止前会执行这个方法,通常可以在这里进行内存清理工作防止程序被终止
7、- (void)applicationSignificantTimeChange
UIApplication*)application
说明:当系统时间发生改变时执行
8、- (void)applicationDidFinishLaunching
UIApplication*)application
说明:当程序载入后执行
9、- (void)application
UIApplication)application willChangeStatusBarFrame
CGRect)newStatusBarFrame
说明:当StatusBar框将要变化时执行
10、- (void)application
UIApplication*)application willChangeStatusBarOrientation:
(UIInterfaceOrientation)newStatusBarOrientation
duration
NSTimeInterval)duration
说明:当StatusBar框方向将要变化时执行
11、- (BOOL)application
UIApplication*)application handleOpenURL:(NSURL*)url
说明:当通过url执行
12、- (void)application:(UIApplication*)application didChangeStatusBarOrientation:(UIInterfaceOrientation)oldStatusBarOrientation
说明:当StatusBar框方向变化完成后执行
13、- (void)application:(UIApplication*)application didChangeSetStatusBarFrame:(CGRect)oldStatusBarFrame
说明:当StatusBar框变化完成后执行
下图是我总结的一个大概流程图,不是很准确但是基本上也说明了整个过程,仅供参考。
到这为止我们的这个程序运行起来还是什么都没有看到,确实我们也没有写具体的功能代码,接下来我们要做的就是在屏幕上显示“Hello World!”,首先知道一下要在屏幕上显示,首先需要一个UIWindow对象,这个你可以认为是一个电视机,然后还需要往这个UIWindow对象里添加UIView对象, UIView相当于电视上一幕一幕的画面。通过上面的流程知道要在程序后显示可以在applicationDidFinishLaunching方法中处理,这样修改applicationDidFinishLaunching方法如下:
- (void)applicationDidFinishLaunchingUIApplication*)application{
UIWindow *window=[[UIWindow alloc]initWithFrame:[[UIScreen mainScreen] bounds]];
SampleViewController *viewctrl=[[SampleViewController alloc]init];
[window addSubview:viewctrl.view];
[window makeKeyAndVisible];
}
欢迎光临 纳金网 (http://go.narkii.com/club/)
Powered by Discuz! X2.5