public
void
run
()
{
handler.postDelayed(
this
,
2000
);
主线程中调用,使用PostDelayed方法,两秒后调用此Runnable对象
handler.postDelayed(runnable, 2000);
★ 关闭此定时器,可以这样操作
handler.removeCallbacks(runnable);
2. handler+timer+timeTask
首先创建一个Handler对象
Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
if (msg.what == 1){
super.handleMessage(msg);
然后创建一个Timer 对象
Timer timer = new Timer();
TimerTask timerTask = new TimerTask() {
@Override
public void run() {
Message message = new Message();
message.what = 1;
handler.sendMessage(message);
主线程中调用,使用schedule方法
timer.schedule(timerTask,1000,500);
3. Thread+handler
首先创建一个Handler对象
Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
if (msg.what == 1){
super.handleMessage(msg);
然后创建一个Timer 对象
class ScheduleThread extends Thread {
@Override
public void run() {
while (true){
try {
Thread.sleep(1000);
Message msg = new Message();
msg.what = 1;
handler.sendMessage(msg);
} catch (InterruptedException e) {
e.printStackTrace();
主线程中调用
new Thread(new ScheduleThread ()).start();
1. Handler的postDelayed方法:
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
}, 1000);
2. Timer + TimerTask方法:
timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
},1000);
3. Thread方法:
new Thread(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}).start();
new Thread(new MyThread()).start();
复制代码
- 985
-
RainyJiang
Kotlin
Android
- 1574
-
写程序的赵童鞋
Android
Google
- 1.6w
-
ice_coffee_mzp
Android
- 1003
-
NoharaShinosuke
第一搬砖大队大队长