創(chuàng)建iOS工程的時候,就會創(chuàng)建一個UIAppliaction的對象。代表當前這個應用程序,作用是用來觀察應用程序狀態(tài)的改變,然后通知代理去針對這些狀態(tài)的改變做出相應的反應。
1.application()
程序啟動成功之后會調(diào)用這個方法,這個方法是iOS程序的真正入口,iOS編程的實質(zhì)就是在實現(xiàn)這個方法
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
//搭建UI界面,請求數(shù)據(jù)、展示數(shù)據(jù)
print("程序啟動成功")
return true
}
2.applicationWillResignActive()
應用程序?qū)⒁兂煞腔钴S狀態(tài)的時候會調(diào)用這個方法(應用程序不顯示在手機屏幕上的時候就是非活躍狀態(tài),按HOME鍵讓程序在后臺運行、來電可以將應用程序變成非活躍狀態(tài))
func applicationWillResignActive(application: UIApplication) {
//一般在這個方法中關閉定時器、暫停視頻/音頻的播放、讓游戲暫停
print("將要變成非活躍狀態(tài)")
}
3.applicationDidEnterBackground()
應用程序已經(jīng)進入后臺的時候會調(diào)用這個方法(在應用程序打開的時候按HOME鍵才會進入后臺)
func applicationDidEnterBackground(application: UIApplication) {
print("已經(jīng)進入后臺")
}
4.applicationWillEnterForeground()
應用程序?qū)⒁M入前臺(從后臺打開應用程序的時候才算進入前臺)
func applicationWillEnterForeground(application: UIApplication) {
//根據(jù)情況去開啟定時器、繼續(xù)播放視頻/音頻、繼續(xù)游戲。。。
print("將要進入前臺")
}
5.applicationDidBecomeActive()
應用程序已經(jīng)變成活躍狀態(tài)(從后臺回到前臺、來電打斷結束就會從非活躍狀態(tài)變成活躍狀態(tài))
func applicationDidBecomeActive(application: UIApplication) {
print("已經(jīng)變成活躍狀態(tài)")
}
6.applicationWillTerminate()
應用程序?qū)⒁K止的時候回調(diào)這個方法(一般情況下,只有從后臺強制將應用程序退出的時候,程序才會終止)
func applicationWillTerminate(application: UIApplication) {
//讓應用程序不能再后臺運行:在info.plist文件中添加key為“Application does not run in backgroudn”,值為YES的鍵值對
print("應用程序?qū)⒁K止")
}