- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// 程序啟動(dòng)的時(shí)候第一次運(yùn)行的方法
NSLog(@"程序啟動(dòng)");
return YES;
}
- (void)applicationWillResignActive:(UIApplication *)application
{
//當(dāng)有電話或信息進(jìn)來(lái)搬瑰,這時(shí)你的應(yīng)用程會(huì)掛起,你應(yīng)該停正在進(jìn)行的任務(wù),禁用計(jì)時(shí)器跃捣,如果是游戲,停止游戲亡哄。
NSLog(@"程序結(jié)束活躍狀態(tài)");
}
- (void)applicationDidEnterBackground:(UIApplication *)application
{
//在這個(gè)方法中釋放共享資源,保存用戶數(shù)據(jù),停止計(jì)時(shí)器,和儲(chǔ)存足夠多的應(yīng)用程序狀態(tài)信息為了激活應(yīng)用時(shí)恢復(fù)應(yīng)用的狀態(tài)。
NSLog(@"程序已經(jīng)進(jìn)入后臺(tái) !");
}
- (void)applicationWillEnterForeground:(UIApplication *)application
{
//在這個(gè)方法中撤銷applicationDidEnterBackground中的改變布疙。
NSLog(@"程序?qū)⒁M(jìn)入前臺(tái) !");
}
- (void)applicationDidBecomeActive:(UIApplication *)application
{
//開(kāi)始停止的任務(wù)
NSLog(@"程序重新激活 !");
}
- (void)applicationWillTerminate:(UIApplication *)application
{
//當(dāng)用戶按下按鈕蚊惯,或者關(guān)機(jī),程序都會(huì)被終止灵临。當(dāng)一個(gè)程序?qū)⒁=K止時(shí)會(huì)調(diào)用 applicationWillTerminate方法截型。但是如果長(zhǎng)主按鈕強(qiáng)制退出,則不會(huì)調(diào)用該方法儒溉。這個(gè)方法該執(zhí)行剩下的清理工作宦焦,比如所有的連接都能正常關(guān)閉,并在程序退出前執(zhí)行任何其他的必要的工作:
NSLog(@"程序意外暫行 !");
}
首次運(yùn)行:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
- (void)applicationDidBecomeActive:(UIApplication *)application
首次關(guān)閉(home):
- (void)applicationWillResignActive:(UIApplication *)application
- (void)applicationDidEnterBackground:(UIApplication *)application
再次運(yùn)行:
- (void)applicationWillEnterForeground:(UIApplication *)application
- (void)applicationDidBecomeActive:(UIApplication *)application
再次關(guān)閉:
- (void)applicationWillResignActive:(UIApplication *)application
- (void)applicationDidEnterBackground:(UIApplication *)application
注意:應(yīng)用程序在啟動(dòng)時(shí),在調(diào)用了 applicationDidFinishLaunching 方法之后也會(huì)調(diào)用 applicationDidBecomeActive 方法波闹,所以你要確保你的代碼能夠分清復(fù)原與啟動(dòng)酝豪,避免出現(xiàn)邏輯上的bug。