Задать вопрос
@Morn

Как создать бесконечный цикл в Android?

Как лучше организовать бесконечный фоновый цикл в Android?

Пробовал такую конструкцию с помощью AsyncTask, но она имеет серьезный недостаток: никакие другие фоновые процессы не могу выполняться пока работает цикл.

class loop extends AsyncTask<Void, Void, Void> {
    @Override
    protected Void doInBackground(Void... params) {
        while(true) {
            //Некоторые действия
        }
    }
}


P.S. Это будет программа, которая управляет устройством (таймлапс слайдером) на основе Arduino.
Раньше я это делал в Processing с его стандартным циклом draw(). В цикле программа:
1) Реагировала на разрыв соединения.
2) Реагировала на полученные от Arduino сообщения.
3) Обновляла таймер обратного отсчета и индикатор процесса (ProgressBar).
  • Вопрос задан
  • 4998 просмотров
Подписаться 1 Оценить Комментировать
Ответ пользователя Олег К ответам на вопрос (3)
Master255
@Master255
Использую такую конструкцию (не знаю на сколько она правильна):
new Transfer(t + "/", false).start();
synchronized (th)
{
try
{
th.wait();//th - это private static Thread th; th = Thread.currentThread();
} catch (InterruptedException e)
{
e.printStackTrace();
}
}
Это что бы запустить новую ветку и ждать в основной.
Затем возврат уже в новой ветке так:
synchronized (th)
{
th.notify();
}
Ответ написан
Комментировать