接触RxJava也蛮长一段时间了,最近也慢慢的应用到实际项目中。
通常一个App都会有一个启动页,会延迟2-3秒然后进入到主页面,所以,首先想到的是使用RxJava来实现延迟加载。
RxJava之前我们通常使用的方法是
new Handler().postDelayed(new Runnable() {
@Override public void run() {
//TODO
}
},3000L);
RxJava的实现方式是
Observable
.timer(2, TimeUnit.SECONDS)
.subscribe(new Action1<Long>() {
@Override
public void call(Long aLong) {
//TODO
}
});
代码很容易理解
Timer 操作符创建一个在给定的时间段之后返回一个特殊值的Observable
使用方式
Javadoc: timer(long,TimeUnit)
Javadoc: timer(long,TimeUnit,Scheduler)
注意:在TODO位置不能处理UI更新,否则程序会跑出异常,如果非要走TODO位置实现界面UI更新操作
网友评论