Androidには、限られた時間だけタスクを実行するための効率的な方法がありますか?現在、onPostDelayed()でハンドラーを使用し、現在のタイムスタンプが事前定義されたタイムスタンプよりも高いかどうかを実行ごとに確認しています。
私はCountdownTimerのような解決策を探していますが、目盛りはありません。開始時刻と終了時刻のみを定義したいので、この期間にタスクを実行する必要があります。
Androidには、限られた時間だけタスクを実行するための効率的な方法がありますか?現在、onPostDelayed()でハンドラーを使用し、現在のタイムスタンプが事前定義されたタイムスタンプよりも高いかどうかを実行ごとに確認しています。
私はCountdownTimerのような解決策を探していますが、目盛りはありません。開始時刻と終了時刻のみを定義したいので、この期間にタスクを実行する必要があります。
特定の時間にタスクを実行したい場合は、次のように開始時間を「長い」に保存します。
long now = System.currentTimeMillis();
そして、実行中にタスクが開始されてからの経過時間を確認するだけです(何らかのループであると仮定して)。5秒間何かを実行したい場合:
long now = System.currentTimeMillis();
int runtime=5000;//in milliseconds
do
{
//enter your code here
}while (now+runtime<System.currentTimeMillis());