纳金网

标题: iphone程序的生命周期(执行过程) (二) [打印本页]

作者: 奔跑的小兔    时间: 2012-6-29 15:18
标题: iphone程序的生命周期(执行过程) (二)
iphone程序的生命周期(执行过程) (转)


现在来看协议中定义的这些需要实现的方法分别是什么作用:


1、- (void)applicationWillResignActiveUIApplication *)application
说明:当应用程序将要入非活动状态执行,在此期间,应用程序不接收消息或事件,比如来电话了
2、- (void)applicationDidBecomeActiveUIApplication *)application
说明:当应用程序入活动状态执行,这个刚好跟上面那个方法相反
3、- (void)applicationDidEnterBackgroundUIApplication *)application
说明:当程序被推送到后台的时候调用。所以要设置后台继续运行,则在这个函数里面设置即可
4、- (void)applicationWillEnterForegroundUIApplication *)application
说明:当程序从后台将要重新回到前台时候调用,这个刚好跟上面的那个方法相反。
5、- (void)applicationWillTerminateUIApplication *)application
说明:当程序将要退出是被调用,通常是用来保存数据和一些退出前的清理工作。这个需要要设置UIApplicationExitsOnSuspend的键值。
6、- (void)applicationDidReceiveMemoryWarningUIApplication *)application
说明:iPhone设备只有有限的内存,如果为应用程序分配了太多内存操作系统会终止应用程序的运行,在终止前会执行这个方法,通常可以在这里进行内存清理工作防止程序被终止
7、- (void)applicationSignificantTimeChangeUIApplication*)application
说明:当系统时间发生改变时执行
8、- (void)applicationDidFinishLaunchingUIApplication*)application
说明:当程序载入后执行
9、- (void)applicationUIApplication)application willChangeStatusBarFrameCGRect)newStatusBarFrame
说明:当StatusBar框将要变化时执行
10、- (void)applicationUIApplication*)application willChangeStatusBarOrientation:
(UIInterfaceOrientation)newStatusBarOrientation
durationNSTimeInterval)duration
说明:当StatusBar框方向将要变化时执行
11、- (BOOL)applicationUIApplication*)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