Предположим, что я хочу выполнить какое-либо действие каждые 10 секунд, и вам не обязательно обновлять представление.Timertask или Handler
вопрос: не является ли это лучше (я имею в виду более эффективное и действенное), чтобы использовать таймер с TimerTask как здесь:
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);
Также я хотел будьте благодарны, если вы сможете объяснить, когда использовать какой подход и почему один из них более эффективен, чем другой (если это действительно так).
Я прочитал много сообщений о нерегулярном поведении TimerTasks.Мой совет будет избегать их и использовать подход handler/postDelayed. –
Я бы предпочел метод Handler-postDelay - у вас больше контроля, и вы планируете его изнутри – mihail
Вот отличный источник для [Timer vs. Handler] (http://androidtrainningcenter.blogspot.in/2013/12/ handler-vs-timer-fixed-period-execution.html) – CodyF