java.util.Timer - как правильно пользоваться? - PullRequest
0 голосов
/ 02 июля 2011

Мне нужен таймер для моей игры: когда пользователь касается экрана, таймер должен остановиться и возобновить работу.Сначала я попытался создать Timer один раз, MyTimerTask.cancel(), чтобы приостановить его, Timer.schedule(new MyTimerTask, ...), чтобы возобновить его.Но диспетчер задач показывает, что, когда таймер приостановлен, мое приложение тратит огромное количество процессоров (я разрабатываю под Android).Как я понимаю, Timer выполняет пустую очередь.Теперь я .cancel() и .purge() Timer и воссоздаю его вместе с MyTimerTask.Это правильный способ использования Timer?Или я чего-то не понимаю?

1 Ответ

1 голос
/ 02 июля 2011

Вы можете просто добавить оператор if в основной игровой цикл, например:

while(runMainLoop)
{
    if(gameIsNotPaused)
    {
    updatePhysics();
    doDraw();
    }
}

А затем, когда пользователь нажимает кнопку паузы, вы просто устанавливаете gameIsNotPaused в false / true.

...