2016-06-08 2 views
1

У меня есть динамический список команд, которые должны выполняться. Некоторые из этих объектов команд должны выполняться в фоновом потоке, а некоторые из них должны выполняться на UiThread, поскольку они изменяют представления и запускают анимацию.Решение для очистки ОС Android RXJava

Некоторые команды не могут быть выполнены до завершения другой команды. Например. C1 запускает затухание в анимации, которое длится 2 секунды. C2 запускает анимацию затухания. => Задержка между командами динамическая.

Я новичок в RXJava. Мое решение работает, но, похоже, не очень элегантно.

=> Прежде чем преобразовать список команд в наблюдаемый, я добавляю команды «Подождите» там, где это необходимо. Команда wait просто вызывает Thread.sleep (delayInMs). Наблюдение и подписка работают на одном и том же фоне. Наблюдатель испускает команды. Если команда является экземпляром UiCommand , абонент отправляет выполнение в uiThread, иначе он выполняет команду в фоновом потоке .

Каков наилучший способ решить эту проблему с помощью RXJava? Я хотел бы избавиться от сообщений UiThread и предварительной подготовки списка. Но замените это на функции RXJava.

+0

вы должны добавить свой код, в текущей форме ваш вопрос является слишком широким –

ответ

Смежные вопросы