2012-04-07 20 views
0

dispatch_source_create, dispatch_resume and dispatch_suspendでGCDを使用してタイマーを作成して管理している場合、すべてのdispatch_suspendに対して必ず一致するdispatch_resumeがあることを確認する必要があります。強制的にアプリを強制終了するためのdispatch_resumeとdispatch_suspend

アプリケーションがバックグラウンドモードに入ると、dispatch_suspendを呼び出し、applicationDidBecomeActiveを受け取ったら、以前に中断されたタイマーソースでdispatch_resumeを呼び出します。

アプリケーションが強制的に強制終了されたとき(バックグラウンドで実行されているアプリのリストを表示して)、dispatch_resumeはどうなりますか?あなたはすべてそれについて心配する必要がありますか?私は、アプリが再起動されると、アプリがきれいに開始しているかのように、application:didFinishLaunchingWithOptionsが呼び出されたと推測します。この仮定は正しいですか?

答えて

1

はい。あなたの背景のアプリケーションがマルチタスクトレイを介してユーザーによって殺されたり、システムによって殺されてメモリを解放したりすると、初めてアプリケーションを起動するのと同じことになります。

関連する問題