這個博客荒廢好久了,之前雖然斷斷續續寫過幾篇文章,大家就忽略掉吧。想想到現在做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方法,該方法主要是釋放內存。我個人暫時沒遇到過( ╯□╰ )
今天就寫到這吧。。。