1

実行したい定期的な処理があります。私は次のように設定しています:

periodicHandler = new Handler(new Handler.Callback()
{
    public boolean handleMessage(Message msg)
    {
        doPeriodicStuff();

        // schedule the next call
        periodicHandler.sendEmptyMessageDelayed(0, PERIODIC_INTERVAL);

        return true;
    }
});

// schedule the initial call
periodicHandler.sendEmptyMessageDelayed(0, INITIAL_DELAY);

いくつか質問があります。

  • これらのハンドラーは、アプリがバックグラウンドにあるときに起動しますか? (そうでない場合、アプリがフォアグラウンドに戻ったときに期限切れのハンドラーが起動しますか?)
  • これらのキューに入れられたメッセージは、アプリを「存続」させますか? つまり、すべてのアクティビティがなくなったとしても、これらのキューに入れられたメッセージが存在することで、Android がアプリケーションを強制終了できなくなるのでしょうか?
4

2 に答える 2

1

サービスの使用を検討する必要があります。バックグラウンドタスクの維持に優れており、メモリが極端に少ない状況でのみ実行を停止するように構成できます。

于 2012-07-27T21:32:45.730 に答える
1

これらのキューに入れられたメッセージは、アプリを「存続」させますか? つまり、すべてのアクティビティがなくなったとしても、これらのキューに入れられたメッセージが存在することで、Android がアプリケーションを強制終了できなくなるのでしょうか?

いいえ。Android は必要に応じてプロセスを終了できます。

于 2012-07-27T23:21:39.573 に答える