В RxJava для Android я хочу генерировать элементы с интервалом, который зависит от самого элемента: в Observable я извлекаю элемент из очереди, обрабатываю его и отправляю. В зависимости от типа элемента, я хочу настроить, через какое время будет выдан следующий элемент (замедлить или ускорить интервал).
Следующий код, предложенный @ a.bertucci здесь Создавать объекты для рисования в пользовательском интерфейсе через равные промежутки времени с помощью RxJava на Android демонстрирует, как создавать элементы через равные промежутки времени.
private void drawPath(final String chars) {
Observable.zip(
Observable.create(new Observable.OnSubscribe<Path>() {
// all the drawing stuff here
...
}),
Observable.timer(0, 50, TimeUnit.MILLISECONDS),
new Func2<Path, Long, Path>() {
@Override
public Path call(Path path, Long aLong) {
return path;
}
}
)
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
...
}
Теперь мой вопрос: можно ли вообще изменить частоту излучения, пока наблюдаемый объект излучает, и какая предпочтительная реализация с использованием RxJava.