ハンドラー postDelayed を使用して、しばらくしてアクティビティをバックグラウンドに移動しています。
ハンドラーがコールバックを起動する前にアクティビティが一時停止モードになるとどうなりますか? それはどうなりますか?削除されますか、再開後にカウントダウンされますか?
たとえば、アクティビティが再開後に一時停止した場合、コールバックが発生するまでに 5 秒ある場合、5 秒後に発生しますか?
ハンドラー postDelayed を使用して、しばらくしてアクティビティをバックグラウンドに移動しています。
ハンドラーがコールバックを起動する前にアクティビティが一時停止モードになるとどうなりますか? それはどうなりますか?削除されますか、再開後にカウントダウンされますか?
たとえば、アクティビティが再開後に一時停止した場合、コールバックが発生するまでに 5 秒ある場合、5 秒後に発生しますか?
で保留中の Handler コールバックをキャンセルする必要がありますonPause()
。
ハンドラー postDelayed を使用して、しばらくしてアクティビティをバックグラウンドに移動しています。
すでに一時停止されているアクティビティを一時停止しても意味がありません。OS によって破棄される可能性もあるため、ハンドラーがコールバックを実行するかどうかに依存することはできません。
などの Handler の任意のremove___()
メソッドを使用できますremoveCallbacks(Runnable)
。