IOS學習筆記 ——生命週期

     這個博客荒廢好久了,之前雖然斷斷續續寫過幾篇文章,大家就忽略掉吧。想想到現在做IOS開發也有大半年了,就在這裏記錄自己學過的東西以及遇到的問題吧。希望自己能夠堅持下去,Come On , Boy!


     作爲應用程序的委託對象,AppDelegate類在應用程序的不同階段會調用不同的方法。首先,我們將介紹IOS應用的不同狀態。

1、IOS應用的五種狀態

     NotRunning (非運行狀態)。應用沒有運行或被系統終止。
     Inactive(前臺非活動狀態)。應用正在進入前臺狀態,但是還不能接受事件處理。
     Active(前臺活動狀態)。應用進入前臺狀態,能接受事件處理。
     Background(後臺狀態)。應用進入後臺,該狀態依然能夠執行代碼。如果沒有代碼可執行或代碼執行完畢,應用會進入掛起狀態。
     Suspended(掛起狀態)。該狀態不能執行代碼,如果系統內存空間不足,應用將會被終止。

      應用程序狀態變化,IOS系統會回調AppDelegate中的一些方法,併發送通知。下面介紹常用的方法。

2、AppDelegate常用方法

   application:didFinishLaunchingWithOptions: 應用啓動時會調用該方法。一般在該方法中設置rootViewController。
    applicationDidBecomeActive: 應用進入前臺處於活動狀態時調用該方法。這個階段可以恢復UI狀態(遊戲狀態)。
    applicationWillResignActive: 應用從活動狀態進入非活動狀態。這個階段保存UI狀態(遊戲狀態)。
    applicationDidEnterBackground: 應用進入後臺時調用該方法。這個階段保存用戶數據,釋放資源。
    applicationWillEnterForegroun: 應用進入前臺但還沒有處於活動狀態時調用該方法。這個階段恢復用戶數據。


3、視圖(View)生命週期與視圖控制器(ViewController)的關係

    視圖創建:首先調用viewDidLoad方法,然後是viewWillAppear:方法。一般在viewDidLoad中載入view。
    視圖可見:可以執行viewDidAppear、viewWillDisappear方法。一般在viewDidAppear中通過model獲取數據,刷新視圖。
    視圖不可見:調用viewDidDisappear方法。
    系統內存低:調用didRceiveMemoryWarning方法,該方法主要是釋放內存。我個人暫時沒遇到過( ╯□╰ )

 
今天就寫到這吧。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章