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
が呼び出されたと推測します。この仮定は正しいですか?