10秒ごとになんらかのアクションを実行したいとしますが、必ずしもビューを更新する必要はありません。
問題は、次のようにtimertaskでtimerを使用する方が良い(つまり、より効率的で効果的)かどうかです。
final Handler handler = new Handler();
TimerTask timertask = new TimerTask() {
@Override
public void run() {
handler.post(new Runnable() {
public void run() {
<some task>
}
});
}
};
timer = new Timer();
timer.schedule(timertask, 0, 15000);
}
またはpostdelayedのハンドラー
final Handler handler = new Handler();
final Runnable r = new Runnable()
{
public void run()
{
<some task>
}
};
handler.postDelayed(r, 15000);
また、どのアプローチをいつ使用するか、なぜそれらの1つが他の方法よりも効率的であるか(実際にそうである場合)について説明していただければ幸いです。
2
TimerTasksの不規則な動作に関する多くの投稿を読んだことがあります。私のアドバイスは、それらを回避し、ハンドラー/ postDelayedアプローチを使用することです。
—
Sound Conception
私はHandler-postDelayメソッドを使用したいと思います。より細かく制御でき、内側からスケジュールできます
—
mihail
TimerTaskはバックグラウンドタスクであるため、UIを更新できません。ただ言う...
—
Yousha Aleayoub
me..thanksのために働いていた
—
jyotsna