延时处理(Timer/TimerTask,Handler)
2017-09-27 17:17
218 查看
> bugs: TimerTask is scheduled already
rx.exceptions.OnErrorNotImplementedException: TimerTask is scheduled already
Caused by: rx.exceptions.OnErrorNotImplementedException: TimerTask is scheduled already。
Timer timer = new Timer(); timer.schedule(new TimerTask(),8000);
所以同一个定时器任务只能被放置一次.
> Timer与TimerTask的使用
public void schedule(TimerTask task, long delay, long period),
这个方法是调度一个task,在delay(ms)后开始调度,每次调度完后,最少等待period(ms)后才开始调度。
Timer timer = new Timer();
timer.schedule(new TimerTask() {
public void run() {
System.out.println("abc");
}
}, 200000 , 1000);
> Handler的延时发消息
Handler发送消息,周期性更新UI总结- http://blog.csdn.net/yujiugang/article/details/52881527
handler.post(myRunnable)+runnable的方式处理
handler.post(myRunnable)、
handler.postDelayed(myRunnable,time)等方法,将消息交给runnable处理
mHandlerRunnable.postDelayed(myRunnable,1000);
private Handler mHandlerRunnable = new Handler();
private Runnable myRunnable = new Runnable() {
@Override
public void run() {
tvRunnable.setText("runnable+handle.postdelayer"+1);
}
};
private void updateUI(){
runOnUiThread(new Runnable() {
@Override
public void run() {
tvRunOnUi.setText("runOnUiThread"+1);
}
});
}
rx.exceptions.OnErrorNotImplementedException: TimerTask is scheduled already
Caused by: rx.exceptions.OnErrorNotImplementedException: TimerTask is scheduled already。
Timer timer = new Timer(); timer.schedule(new TimerTask(),8000);
所以同一个定时器任务只能被放置一次.
> Timer与TimerTask的使用
public void schedule(TimerTask task, long delay, long period),
这个方法是调度一个task,在delay(ms)后开始调度,每次调度完后,最少等待period(ms)后才开始调度。
Timer timer = new Timer();
timer.schedule(new TimerTask() {
public void run() {
System.out.println("abc");
}
}, 200000 , 1000);
> Handler的延时发消息
Handler发送消息,周期性更新UI总结- http://blog.csdn.net/yujiugang/article/details/52881527
handler.post(myRunnable)+runnable的方式处理
handler.post(myRunnable)、
handler.postDelayed(myRunnable,time)等方法,将消息交给runnable处理
mHandlerRunnable.postDelayed(myRunnable,1000);
private Handler mHandlerRunnable = new Handler();
private Runnable myRunnable = new Runnable() {
@Override
public void run() {
tvRunnable.setText("runnable+handle.postdelayer"+1);
}
};
private void updateUI(){
runOnUiThread(new Runnable() {
@Override
public void run() {
tvRunOnUi.setText("runOnUiThread"+1);
}
});
}
相关文章推荐
- Timer Timer Task Handler
- timer+TimerTask+handler倒计时-----小例子深奥多
- handler实现自定义对话框(Dialog)的数据定时(TimerTask)更新
- 115、定时器(TimerTask+Timer+Handler)
- Android Handler和Thread实例及Timer()延时
- Timer延时任务的坑与handler实现延时任务对比
- android thread handler timertask
- timer timetask handler
- Android实现调度任务的三种方式:TimerTask、ScheduledExecutorService、Handler
- 验证码 timer timertask handler
- Handler+Timer/TimerTask实现ViewPager的自动循环播放
- Android杂谈之Handler与timer及TimerTask结合实现定时任务
- 倒计时五种方法,方法二:TimerTask与Handler(不用Timer的改进型)
- Timer(TimerTask )\AlarmManger\Handler\Thread.sleep\ScheduledThreadPoolExecutor
- 进阶_计时器(Handler+TimerTask实现)_150503
- 使用Handler和Timer+Timertask实现简单的图片轮播
- handler实现自定义对话框(Dialog)的数据定时(TimerTask)更新
- Timer搭配TimerTask与Handler使用(更新UI)
- Handler延时处理消息的流程
- Android中TimerTask与Handler延迟多线程源代码