RxJava具体实现之延迟加载

接触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() { 
             @Override           
             public void call(Long aLong) { 
                   //TODO
             } 
        });

代码很容易理解
Timer 操作符创建一个在给定的时间段之后返回一个特殊值的Observable
使用方式
Javadoc: timer(long,TimeUnit)
Javadoc: timer(long,TimeUnit,Scheduler)

注意:在TODO位置不能处理UI更新,否则程序会跑出异常,如果非要走TODO位置实现界面UI更新操作

你可能感兴趣的:(RxJava具体实现之延迟加载)