什么是UIApplication
UIApplication繼承自UIResponder,的主要作用是提供了iOS程序運行期間的控制和協(xié)作工作款熬,每個iOS程序運行期間都會有一個UIApplication實例惕虑,一般由main函數(shù)的UIApplicationMain函數(shù)完成庇忌,而在代碼中可以調(diào)用[UIApplication sharedApplication]方法來得到這個實例(有且僅有一個)。
UIApplication監(jiān)聽系統(tǒng)事件
app啟動時調(diào)用靠汁,程序加載完畢
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;
程序被喚醒蜂大,激活(程序獲取焦點)
- (void)applicationDidBecomeActive:(UIApplication *)application;
注意:應(yīng)用程序在啟動時,在調(diào)用了 applicationDidFinishLaunching 方法之后也會調(diào)用 applicationDidBecomeActive 方法蝶怔,所以你要確保你的代碼能夠分清復(fù)原與啟動奶浦,避免出現(xiàn)邏輯上的bug。
程序掛起(程序失去焦點踢星,比如當(dāng)有電話進來或者鎖屏?xí)r澳叉,會調(diào)用這個方法)
- (void)applicationWillResignActive:(UIApplication *)application;
程序進入后臺
- (void)applicationDidEnterBackground:(UIApplication *)application ;
程序從后臺進入前臺
- (void)applicationWillEnterForeground:(UIApplication *)application ;
程序內(nèi)存警告,可能要終止程序
-(void)applicationDidReceiveMemoryWarning:(UIApplication *)application;
程序即將退出
- (void)applicationWillTerminate:(UIApplication *)application ;
首次運行:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
- (void)applicationDidBecomeActive:(UIApplication *)application
首次關(guān)閉(home):
- (void)applicationWillResignActive:(UIApplication *)application
- (void)applicationDidEnterBackground:(UIApplication *)application
再次運行:
- (void)applicationWillEnterForeground:(UIApplication *)application
- (void)applicationDidBecomeActive:(UIApplication *)application
再次關(guān)閉:
- (void)applicationWillResignActive:(UIApplication *)application
- (void)applicationDidEnterBackground:(UIApplication *)application