Я использую задачу таймера для выполнения асинхронной задачи с фиксированным интервалом времени в пять минут. но задача таймера иногда начинала вести себя неправильно, как будто она не выполнялась с фиксированной задержкой, на самом деле она выполнялась через 10 минут дважды, а не каждые 5 минут, почему так?
Вот мой код
Timer timer = new Timer();
mytimer Mytimer = new mytimer();
timer.scheduleAtFixedRate(Mytimer, 300000, 300000);
class Mytimer extends TimerTask {
@Override
public void run() {
// TODO Auto-generated method stub
new DetailPosition().execute();
}
}
Так помогите мне в этом
Timer
. Способ Android делать что-то через определенные промежутки времени — черезHandler#postDelayed(...)
. - person Kevin Krumwiede   schedule 10.08.2015execute(Params...)
должен вызываться в потоке пользовательского интерфейса. Вы нарушаете оба этих правила. Откажитесь отTimer
и используйтеHandler
. - person Kevin Krumwiede   schedule 10.08.2015