親切すぎるiPhoneアプリ開発の本

iOSアプリの切り替えを知るには? - 利用すべきメソッドの検討

Icon comment count 0
Icon stock count 0

2 利用すべきメソッドの検討

先ほどおこなった実験から考えると落書きアプリケーションのような場合は、描きかけの画像を保存するタイミングは-applicationWillResignActive:か-applicationDidEnterBackground:が呼ばれた時が適切ということになります。

そして保存した画像を読み込むタイミングの方は、-applicationWillEnterForegroundでも-applicationDidBecomeActiveでもなく、あらためて起動された場合にだけ呼び出されるapplication:didFinishLaunchingWithOptions:が適切(それ以外の時は画像はメモリ上に保持されている)となります。

2.1 画像を保存するために利用すべきメソッド

では、画像を保存するために利用すべきメソッドは、-applicationWillResignActive、あるいは-applicationDidEnterBackgroundのどちらが適切なのでしょうか?

Appleのドキュメント「iOSアプリケーションプログラミングガイト」の「アプリケーションの状態遷移を扱う戦略」には、状態遷移に関する非常に詳しい説明がありますが、ここから読み取れる事は、-applicationWillResignActive:が呼ばれた後に、必ずしもバックグラウンドへ移行するわけではないという事です。

例えば、通知センターが画面の上端から引き出される時には、-applicationWillResignActive:が呼び出されます。ここでもしユーザーが通知センターで別アプリの起動を選んだ場合、引き続き-applicationDidEnterBackground:が呼び出され、バックグラウンド動作に入るのですが、通知センターを閉じれば、代わりに-applicationDidBecomeActive:が呼び出され、アプリは再びユーザーと対話できるようになります。

このような動きをする事か

出典情報

Medium

親切すぎるiPhoneアプリ開発の本

  • 著者: 國居 貴浩

コメント

    コメントはありません