中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

iOS學(xué)習(xí)——iOS應(yīng)用程序生命周期(四)-創(chuàng)新互聯(lián)

開發(fā)應(yīng)用程序都要了解其生命周期,開始接觸android時也是從應(yīng)用程序生命周期開始的,android的應(yīng)用程序生命周期更多是其組件的生命周期,例如Activity、Service。今天我們接觸一下iOS應(yīng)用程序的生命周期,

為紅河等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及紅河網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都做網(wǎng)站、成都網(wǎng)站制作、紅河網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!

    iOS的入口在main.m文件:

int main(int argc, char *argv[]) {     @autoreleasepool {         return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));     } }

    main函數(shù)的兩個參數(shù),iOS中沒有用到,包括這兩個參數(shù)是為了與標(biāo)準(zhǔn)ANSI C保持一致。

    UIApplicationMain函數(shù),前兩個和main函數(shù)一樣,重點是后兩個,官方說明是這樣的:

// If nil is specified for principalClassName, the value for NSPrincipalClass from the Info.plist is used. If there is no // NSPrincipalClass key specified, the UIApplication class is used. The delegate class will be instantiated using init. UIKIT_EXTERN int UIApplicationMain(int argc, char *argv[], NSString *principalClassName, NSString *delegateClassName);

    后兩個參數(shù)分別表示程序的主要類(principal class)和代理類(delegate class)。如果主要類(principal class)為nil,將從Info.plist中獲取,如果Info.plist中不存在對應(yīng)的key,則默認(rèn)為UIApplication;如果代理類(delegate class)將在新建工程時創(chuàng)建。

    根據(jù)UIApplicationMain函數(shù),程序?qū)⑦M入AppDelegate.m,這個文件是xcode新建工程時自動生成的。下面看一下AppDelegate.m文件,這個關(guān)乎著應(yīng)用程序的生命周期。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {     self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];     // Override point for customization after application launch.     self.window.backgroundColor = [UIColor whiteColor];     [self.window makeKeyAndVisible];     NSLog(@"iOS_didFinishLaunchingWithOptions");     return YES; }  - (void)applicationWillResignActive:(UIApplication *)application {     // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.     // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.     NSLog(@"iOS_applicationWillResignActive");  }  - (void)applicationDidEnterBackground:(UIApplication *)application {     // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.      // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.     NSLog(@"iOS_applicationDidEnterBackground");  }  - (void)applicationWillEnterForeground:(UIApplication *)application {     // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.     NSLog(@"iOS_applicationWillEnterForeground");  }  - (void)applicationDidBecomeActive:(UIApplication *)application {     // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.     NSLog(@"iOS_applicationDidBecomeActive");  }  - (void)applicationWillTerminate:(UIApplication *)application {     // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.     NSLog(@"iOS_applicationWillTerminate");  }

   1、application didFinishLaunchingWithOptions:當(dāng)應(yīng)用程序啟動時執(zhí)行,應(yīng)用程序啟動入口,只在應(yīng)用程序啟動時執(zhí)行一次。若用戶直接啟動,lauchOptions內(nèi)無數(shù)據(jù),若通過其他方式啟動應(yīng)用,lauchOptions包含對應(yīng)方式的內(nèi)容。

   2、applicationWillResignActive:在應(yīng)用程序?qū)⒁苫顒訝顟B(tài)切換到非活動狀態(tài)時候,要執(zhí)行的委托調(diào)用,如 按下 home 按鈕,返回主屏幕,或全屏之間切換應(yīng)用程序等。

   3、applicationDidEnterBackground:在應(yīng)用程序已進入后臺程序時,要執(zhí)行的委托調(diào)用。

   4、applicationWillEnterForeground:在應(yīng)用程序?qū)⒁M入前臺時(被激活),要執(zhí)行的委托調(diào)用,剛好與applicationWillResignActive 方法相對應(yīng)。

   5、applicationDidBecomeActive:在應(yīng)用程序已被激活后,要執(zhí)行的委托調(diào)用,剛好與applicationDidEnterBackground 方法相對應(yīng)。

   6、applicationWillTerminate:在應(yīng)用程序要完全推出的時候,要執(zhí)行的委托調(diào)用,這個需要要設(shè)置UIApplicationExitsOnSuspend的鍵值。

初次啟動:

2013-05-24 20:20:31.550 LifeIOS[451:c07] iOS_didFinishLaunchingWithOptions

2013-05-24 20:20:31.551 LifeIOS[451:c07] iOS_applicationDidBecomeActive

按下home鍵:

2013-05-24 20:22:17.349 LifeIOS[451:c07] iOS_applicationWillResignActive

2013-05-24 20:22:17.350 LifeIOS[451:c07] iOS_applicationDidEnterBackground

點擊程序圖標(biāo)進入:

2013-05-24 20:22:56.913 LifeIOS[451:c07] iOS_applicationWillEnterForeground

2013-05-24 20:22:56.914 LifeIOS[451:c07] iOS_applicationDidBecomeActive

程序中沒有設(shè)置UIApplicationExitsOnSuspend的值,程序不會徹底退出。

   看上面iOS的生命周期,是不是和Android的Activity生周期也相似,所以說程序是相通的,對比著學(xué)習(xí)也是收獲大的。

/**

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

網(wǎng)站欄目:iOS學(xué)習(xí)——iOS應(yīng)用程序生命周期(四)-創(chuàng)新互聯(lián)
分享路徑:http://www.rwnh.cn/article30/coihso.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗、網(wǎng)站設(shè)計公司全網(wǎng)營銷推廣、網(wǎng)站導(dǎo)航、網(wǎng)頁設(shè)計公司、建站公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

庆元县| 津南区| 金溪县| 澄迈县| 吉林省| 舟曲县| 天峻县| 安陆市| 崇阳县| 乌拉特中旗| 平乐县| 夏河县| 株洲市| 天台县| 孝昌县| 鸡泽县| 青河县| 民丰县| 将乐县| 静安区| 兴海县| 楚雄市| 江川县| 砀山县| 乐昌市| 马鞍山市| 禄丰县| 渭源县| 榆中县| 嫩江县| 耒阳市| 金堂县| 中西区| 闵行区| 松溪县| 新和县| 扎囊县| 镇坪县| 龙陵县| 绍兴市| 龙岩市|