Пожалуйста, не помещайте это на удержание, пожалуйста, не отмечайте как дубликат и, пожалуйста, ответьте мне! Мне нужно, чтобы материал делался каждые 200 миллисекунд, и мне нужно, чтобы он был ровным и ровным. Задача - средний вес (в обоих случаях - вопрос 1 и 2). Поиск таймеров выглядит как лучшее решение сообщества - использовать обработчик, runnable и postDelayed(), (Android timer? How-to?).Андроид Таймер: postDelayed против расписания
Обновленные вопросы:
-Wich способ является наиболее точным и быстрым, если я должен взаимодействовать с пользовательским интерфейсом, postDelayed() или графика()/scheduleAtFixedRate()?
-Wich способ является наиболее точным и быстрым, если мне не нужно взаимодействовать с пользовательским интерфейсом, postDelayed() или schedule()/scheduleAtFixedRate()?
-Богие способы могут быть выполнены на основном процессе или на отдельном? как ?
Спасибо. Некоторые примеры ...
Таким образом, у меня есть локальные объекты mainclass, но это новый поток? Это хорошая оценка?
timer.schedule(new TimerTask() {
@Override
public void run() {
textview.setText(str);
//other stuff
}
}, 0, 200);
Следующая еще одна с графиком, задача в отдельной задаче, а не сам таймер, я думаю, и я не могу взаимодействовать с UI directlly, я думаю ...
timer.schedule(new aclass(), 0, 200);
Handler путь (от Dave.B):
Handler timerHandler = new Handler();
Runnable timerRunnable = new Runnable() {
@Override
public void run() {
TextView.setText(str);
// other stuff
timerHandler.postDelayed(this, 500); }
};
@Override
public void onCreate(Bundle savedInstanceState) {
...
timerHandler.postDelayed(timerRunnable, 0);
}
Если вы хотите, чтобы материал делался в основном потоке, используйте обработчик с 'postDelayed()'. В противном случае вы потеряете больше времени, разместив свое событие обратно в основной поток. –
Таймер быстр, поэтому я полагаю, что мне нужен новый поток, но мне нужно взаимодействовать с UI. – Jackd
В конце концов, я думаю, что плохо использовать обработчик (третий пример) в отдельном классе «помощник». И это должно поставить все на другое, правильно? – Jackd