Android定时、延时操作。'

一.概述

做Android开发一年多了,现在想写写博客不断丰富自己,也记录一下自己学习历程,同时希望能对刚入门的同学有所帮助。奋斗

今天讲讲Android中定时、延时去改变界面控件该如何操作。我所了解的定时延时有三种:

1.使用Timer定时器。

2.使用Executor框架。

3.使用Handler。

二.使用

1.先看看Timer的延时操作直接上代码:

Timer timer = new Timer();
timer.schedule(new TimerTask() {
    @Override
    public void run() {
        //延时1s后的操作
    }
},1000);
1000为delay的时间单位是毫秒。定时操作代码:

Timer timer = new Timer();
timer.schedule(new TimerTask() {
    @Override
    public void run() {
        
    }
},1000,1000);

前一个1000是延时1s然后一个是定时每隔1s都会走run方法。

2.Executor的延时使用:

Thread thread = new Thread(new Runnable() {
    @Override
    public void run() {
       //1后要做的操作
    }
});
ScheduledExecutorService executorService = Executors.newScheduledThreadPool(1);
executorService.schedule(thread,1,TimeUnit.SECONDS);
Executor的定时操作:

Thread thread = new Thread(new Runnable() {
    @Override
    public void run() {
       
    }
});
ScheduledExecutorService executorService = Executors.newScheduledThreadPool(1);
executorService.scheduleAtFixedRate(thread,1,1,TimeUnit.SECONDS);
这里Executors是个静态工厂类封装了很多关于线程处理的机制有兴趣的同学可以去研究下。TimeUnit是一个枚举来确定前面两个参数的时间单位。

3.Handler的延时操作:

Handler handler = new Handler();
handler.postDelayed(new Runnable() {
    @Override
    public void run() {
     
    }
},1000);

handler与其他两个延时的不同就在于handler里的run可以直接改变ui界面,而上面的两个延时则必须通过message消息队列把消息通过message传到handler然后再改变ui。

3.注意事项

1.Timer在不用时要调用timer.cancel();将Tmer停止

2.Executor在不用时调用shutdown();方法终止线程。

4.结束语

第一篇博客希望以后继续努力写出好的文章来,分享出来,不喜勿喷谢谢大家。


  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值