频道栏目
首页 > 资讯 > 其他 > 正文

从零单排RxAndroid系列-----定时器

17-03-03        来源:[db:作者]  
收藏   我要投稿

效果,三秒后执行doSomething()
1、Handler+Thread

Handler handler=new Handler(){
     public void handleMessage(){
         doSomething();
     }
};
class TimeThread implemnts Runnable{
   public void run(){
        while(true){
            Thread.sleep(3000);
            handler.sendMessage();
        }
   }
}

new Thead(new TimeThread)).start();

2、Handler.postDelayed

Handler handler=new Handler();
Runnable runnable=new Runnable(){
  public void run(){
     doSomething();
  }
}

handler.postDelayer(runnable,3000);
handler.removeCallbacks(runnable);

3、Handler+Timer+TimerTask

Timer timer=new Timer();
Handler handler=new Handler(){
    public void handleMessage(){
      doSomething();
    };
}
TimerTask task=new TimerTask(){
   public void run(){
       handler.sendMessage();
   }
}
timer.schedule(task,0,3000);
timer.cancel();

*4、Rx*

Observable.timer(3000,TimeUnit.MILLISECONDS)
          .observeOn(AndroidSchedulers.mainThread())
          .subscribe(new Action1(){
               public void call(Long along){
                    doSomething();
               }
          });
);

前三种方案很不优雅,Rx使用链式的形式,一目了然。

相关TAG标签
上一篇:IOS获取手机设备运行内存的方法
下一篇:我的Android进阶之旅------)android Matrix图片随意的放大缩小,拖动
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站