applicationWillResignActive

打開程序

  • 入口函數(shù)
#import <UIKit/UIKit.h>
#import "AppDelegate.h"

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

注意:

  • 啟動程序并沒有調(diào)用WillEnterForeground這個方法忙上。
  • 并不是所有狀態(tài)切換都有相應(yīng)的方法來通知,比如從Background到Suspended桥帆。所以當(dāng)你按下Home鍵的時候,我們只知道調(diào)用了WillResignActive和DidEnterBackground方法账嚎,但其實應(yīng)用程序會迅速從Background進入Suspended克滴。

程序加載完畢

程序首次已經(jīng)完成啟動時執(zhí)行,若直接啟動熄驼,launchOptions中沒有數(shù)據(jù)像寒。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
 {
 // Override point for customization after application launch.  
   NSLog(@" 程序開始 !");   
    return YES;  
 }  

程序失去焦點

程序?qū)⒁ctive狀態(tài)時調(diào)用,比如按下Home鍵或有電話信息進來瓜贾。對應(yīng)applicationWillEnterForeground(將進入前臺)


- (void)applicationWillResignActive:(UIApplication*)application{    
   NSLog(@" 程序暫行 !");   
 }   

這個方法用來:

  • 暫停正在執(zhí)行的任務(wù)诺祸;
  • 禁止計時器;
  • 減少OpenGL ES幀率祭芦;
  • 若為游戲應(yīng)暫停游戲筷笨;

程序進入后臺

程序已經(jīng)進入后臺時調(diào)用,對應(yīng)applicationDidBecomeActive(已經(jīng)變成前臺)

- (void)applicationDidEnterBackground:(UIApplication*)application{    
   NSLog(@" 程序進入后臺 !");   
 }   

這個方法用來:

  • 釋放共享資源;
  • 保存用戶數(shù)據(jù)(寫到硬盤)胃夏;
  • 作廢計時器轴或;
  • 保存足夠的程序狀態(tài)以便下次恢復(fù);

程序從后臺回到前臺

程序即將進去前臺時調(diào)用仰禀,對應(yīng)applicationWillResignActive(將進入后臺)照雁。這個方法用來撤銷applicationWillResignActive中做的改變。


 - (void)applicationWillEnterForeground:(UIApplication *)application  
{  
     NSLog(@"\n 程序進入前臺 !");   
 } 

復(fù)原

當(dāng)程序復(fù)原時答恶,另一個名為 applicationDidBecomeActive 委托方法會被調(diào)用饺蚊,在此你可以通過之前掛起前保存的數(shù)據(jù)來恢復(fù)你的應(yīng)用程序:


- (void)applicationDidBecomeActive:(UIApplication*)application{    
      NSLog(@"程序重新激活 !");   
 }   

注意:應(yīng)用程序在啟動時,在調(diào)用了 applicationDidFinishLaunching 方法之后也會調(diào)用 applicationDidBecomeActive 方法悬嗓,所以你要確保你的代碼能夠分清復(fù)原與啟動污呼,避免出現(xiàn)邏輯上的bug。

程序終止

當(dāng)用戶按下按鈕包竹,或者關(guān)機曙求,程序都會被終止。當(dāng)一個程序?qū)⒁=K止時會調(diào)用 applicationWillTerminate方法映企。但是如果長主按鈕強制退出悟狱,則不會調(diào)用該方法。這個方法該執(zhí)行剩下的清理工作堰氓,比如所有的連接都能正常關(guān)閉挤渐,并在程序退出前執(zhí)行任何其他的必要的工作:

- (void)applicationWillTerminate:(UIApplication*)application{  

     NSLog(@" 程序意外暫行 !");   
 }

-(void)applicationDidReceiveMemoryWarning:(UIApplication *)application{

    NSLog(@" 程序內(nèi)存警告,可能要終止程序 !");   

}

如果你的類是AppDelegate類(聲明遵循UIApplicationDelegate協(xié)議)双絮,那么可以實現(xiàn)上面的方法浴麻,當(dāng)App狀態(tài)改變的時候相應(yīng)的方法會被調(diào)用;如果你的類不是AppDelegate類囤攀,那么該類如何知道App的各種狀態(tài)變化软免,以及如何使用這些函數(shù)呢?答案是使用NotificationCenter來通知焚挠。


[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationWillResignActive) name:UIApplicationWillResignActiveNotification object:[UIApplication sharedApplication]];

然后實現(xiàn)applicationWillResignActive就行了

- (void)applicationWillResignActive        //自定義的函數(shù)
{
    NSLog(@"%@", NSStringFromSelector(_cmd));
}

文章參考:
http://www.reibang.com/p/10c16caa353b
http://www.cnblogs.com/chenyg32/p/3873301.html

小小總結(jié)膏萧,不成敬意

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市蝌衔,隨后出現(xiàn)的幾起案子榛泛,更是在濱河造成了極大的恐慌,老刑警劉巖噩斟,帶你破解...
    沈念sama閱讀 221,635評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件曹锨,死亡現(xiàn)場離奇詭異,居然都是意外死亡剃允,警方通過查閱死者的電腦和手機沛简,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評論 3 399
  • 文/潘曉璐 我一進店門齐鲤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人椒楣,你說我怎么就攤上這事给郊。” “怎么了撒顿?”我有些...
    開封第一講書人閱讀 168,083評論 0 360
  • 文/不壞的土叔 我叫張陵丑罪,是天一觀的道長荚板。 經(jīng)常有香客問我凤壁,道長,這世上最難降的妖魔是什么跪另? 我笑而不...
    開封第一講書人閱讀 59,640評論 1 296
  • 正文 為了忘掉前任拧抖,我火速辦了婚禮,結(jié)果婚禮上免绿,老公的妹妹穿的比我還像新娘唧席。我一直安慰自己,他們只是感情好嘲驾,可當(dāng)我...
    茶點故事閱讀 68,640評論 6 397
  • 文/花漫 我一把揭開白布淌哟。 她就那樣靜靜地躺著,像睡著了一般辽故。 火紅的嫁衣襯著肌膚如雪徒仓。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,262評論 1 308
  • 那天誊垢,我揣著相機與錄音掉弛,去河邊找鬼。 笑死喂走,一個胖子當(dāng)著我的面吹牛殃饿,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播芋肠,決...
    沈念sama閱讀 40,833評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼乎芳,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了帖池?” 一聲冷哼從身側(cè)響起秒咐,我...
    開封第一講書人閱讀 39,736評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎碘裕,沒想到半個月后携取,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,280評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡帮孔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,369評論 3 340
  • 正文 我和宋清朗相戀三年雷滋,在試婚紗的時候發(fā)現(xiàn)自己被綠了不撑。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,503評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡晤斩,死狀恐怖焕檬,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情澳泵,我是刑警寧澤实愚,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站兔辅,受9級特大地震影響腊敲,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜维苔,卻給世界環(huán)境...
    茶點故事閱讀 41,870評論 3 333
  • 文/蒙蒙 一碰辅、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧介时,春花似錦没宾、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至褐澎,卻和暖如春会钝,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背乱凿。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評論 1 272
  • 我被黑心中介騙來泰國打工顽素, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人徒蟆。 一個月前我還...
    沈念sama閱讀 48,909評論 3 376
  • 正文 我出身青樓胁出,卻偏偏與公主長得像,于是被迫代替她去往敵國和親段审。 傳聞我的和親對象是個殘疾皇子全蝶,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,512評論 2 359

推薦閱讀更多精彩內(nèi)容