さまざまな状態のモニターのIOS開発プログラム

1、5つの状態は、プログラム
実行されていない:動作していません。
非アクティブ:フロントアクティブでありません。フォアグラウンドでは、私たちは、イベント処理を受け入れることはできません。
アクティブ:アクティブなフロント。フォアグラウンドでは、イベント処理を受け入れます。
背景:背景状態。実行コードは、コードを実行した場合背景に、だけでなく、コードの実行は、プログラムがハングを完了しています。
一時停止:停止状態。メモリ不足は、プログラムが殺されるならばバックグラウンドに、あなたは、コードを実行することはできません。

2、コールバックメソッドおよび通知AppDelegate
アプリケーション:didFinishLaunchingWithOptions:(1)コールバックメソッド
         ローカル通知:UIApplicationDidFinishLaunchingNotification
         プログラムが開始されたときに初期化後:トリガタイミング。
        適した操作:この段階では、ルートビューを作成する必要があります。
(2)コールバックメソッド:applicationDidBecomeActive:
         ローカル通知:UIApplicationDidBecomeActiveNotification
        トリガータイミング:お電話フォアグラウンドにプログラムおよびアクティブ。
        適切な操作:このフェーズでは、UIの状態を復元する必要があり(例えば、ゲームの状態として)。
(3)コールバックメソッド:applicationWillResignActive:
         ローカル通知:UIApplicationWillResignActiveNotification
        トリガタイミング:アクティブ状態から非アクティブ状態に入ります。
        適した操作:このフェーズでは、UIの状態を保存する必要があります(ゲームの状態など)。
 (4)コールバックメソッド:applicationDidEnterBackground。

         ローカル通知:UIApplicationDidEnterBackgroundNotification
        トリガタイミングは:ときに、背景にプログラムを呼び出します。
         適した操作:このフェーズでは、ユーザデータを保存する(このような剥離データベースリソースなど)いくつかのリソースを解放する必要があります。
(5)コールバックメソッド:applicationWillEnterForeground:
         ローカル通知:UIApplicationWillEnterForegroundNotificationは
        フォアグラウンドにプログラムを呼び出して、まだアクティブではない:トリガタイミング。
         適した操作:このフェーズでは、ユーザデータを復元する必要があります。
(6)コールバックメソッド:applicationWillTerminate:
         ローカル通知:UIApplicationWillTerminateNotification
        トリガタイミング:プログラムが殺されたときに呼び出されます。
         適した操作:このフェーズでは、いくつかのリソースを解放し、ユーザーデータを保存する必要があります。
 
 図3は、プログラムが起動します
:あなたがアプリケーションアイコンをクリックすると、三つの状態を通過します
- >非アクティブ- >アクティブ実行していない 

-動作していない>非アクティブ
didFinishLaunchingWithOptions:送信:UIApplicationDidFinishLaunchingNotification呼び出し元のアプリケーション 
の非アクティブ- >アクティブ  


コールapplicationDidBecomeActive:送信:UIApplicationDidBecomeActiveNotification 

4は、ホームプログラムが
バックグラウンド/ UIApplicationExitsOnSuspend制御では実行されませApplicationdoes内のInfo.plistに応じた背景には、実行中または一時停止しないように思われます。  
あなたがハングアップするためのバックグラウンドや経験に実行できる場合
>非アクティブ- - >背景-アクティブ>を一時停止 

>非アクティブ-アクティブ 
の送信:UIApplicationWillResignActiveNotificationコールapplicationWillResignActive 
背景- >中断 
コールapplicationDidEnterBackground:送信:UIApplicationDidEnterBackgroundNotification 

場合は、バックグラウンドで実行されていないがまたはハングが経験する
 アクティブを- >非アクティブ- >背景- >一時停止- > notrunning

背景- >一時停止 
コールapplicationDidEnterBackgroundは:送信:UIApplicationDidEnterBackgroundNotification上  
- >実行されていない一時停止しました 
コールapplicationWillTerminate:送信:UIApplicationWillTerminateNotification

5、保留中の再実行が後に
一時停止- >背景- >非アクティブ- >アクティブ

 背景- >非アクティブ 
 コールapplicationWillEnterForeground:送信:UIApplicationWillEnterForegroundNotification 
 非アクティブ- >アクティブ  
コールapplicationDidBecomeActive:送信:UIApplicationDidBecomeActiveNotification 

6 、メモリ不足は、プログラムの殺害
 の背景は- >一時停止- > notrunning
任意のメソッドを呼び出すことはありません。この場合は、それが任意の通知を送信しません。
 

おすすめ

転載: www.cnblogs.com/hecanlin/p/12024390.html