2011-10-29 14 views
3

ユーザーがiOSデバイスのホームボタンを押して、アプリケーションが現在メソッドを実行している場合はどうなりますか:メソッドが実行を終了するか、メソッドが途中で中断されますか?ユーザーがホームボタンを押したときに中断されたメソッド?

+1

- (void)applicationWillResignActive:(UIApplication *)アプリケーションが呼び出されます。 私はあなたが終わったことを知っている方法をイメージしますが、どんなコールバックなども尊敬されるかもしれません。 –

+0

+1 Maudicusコメント。 –

+0

試してみてください。連続して呼び出されるメソッドの上下にprintステートメントを置き、ホームボタンを押します。 –

答えて

0

Maudicus氏が書いたように、がapplicationDidEnterBackground:と同様にアプリケーションデリゲートで呼び出されました。現在実行中のすべてのメソッドが中断されると想定する必要があります。特定の操作が確実に実行されるようにするには、前述の方法のいずれかにする必要があります。

+0

メソッドが本当に長い操作でない限り、メソッドは中断されません。私はタイムアウト期間を忘れていますが、あなたはバックグランドのためにクリーンアップするのに限られた時間を与えられます。そのタイムアウトは、コードが現在実行中のメソッドにある場合でも、バックグラウンドメソッドのいずれかに移動した場合でも同じです。コードの終了に時間がかかり過ぎると、コードがどのメソッドに関係なく中止されます。したがって、バックグラウンドメソッドに移動することで何も取得できません。 – memmons

関連する問題