原创内容,转载请注明原文网址:http://homeqin.cn/a/wenzhangboke/jishutiandi/Android/2019/0809/593.html
通过现实名目的练习,控制了几种android基本按时器和延时的用法,这里我常州游戏开发培训想总结一下作为本人的收成,下面列出的是对照干脆的模式,利便简略地在法式中直接挪用。
一、三种常用的按时器
1.Handler类的postDelayed方法:
复制代码
1 Handler mHandler = new Handler(); 2
Runnable r = new Runnable() { 3 4
@Override 5
public void run() { 6
//do something 7
//每隔1s轮回实行run方法 8
mHandler.postDelayed(this, 1000); 9
}10
};11 12 13 干线程中挪用: mHandler.postDelayed(r, 100);//延时100毫秒
复制代码
2.用handler+timer+timeTask方法:
复制手机App外包代码
1 Handler handler = new Handler() { 2
@Override 3
public void handleMessage(Message msg) { 4
if (msg.what == 1){ 5
//do something 6
} 7
super.handleMessage(msg); 8
} 9 };10 11 Timer timer = new Timer();12 TimerTask timerTask = new TimerTask() {13
@Override14
public void run() {15
Message message = new Message();16
message.what = 1;17
handler.sendMessage(message);18
}19 };20 干线程中挪用:timer.schedule(timerTask,1000,500);//延时1s,每隔500毫秒实行一次run方法
复制代码
3.Thread+handler方法:
复制代码
1 Handler handler = new Handler() { 2
@Override 3
public void handleMessage(Message msg) { 4
if (msg.what == 1){ 5
//do something 6
} 7
super.handleMessage(msg); 8 9
}10 };11 12 class MyThread extends Thread {//这里也可用Runnable接话柄现13
@Override14
public void run() {15
while (true){16
try {17
Thread.sleep(1000);//每隔1s实行一次18
Message msg = new Message();19
msg.what = 1;20
handler.sendMessage(msg);21
} catch (InterruptedException e) {22
e.printStackTrace();23
}24 25
}26
}27 }28 App开发培训主线程中用:new Thread(new MyThread()).start();
复制代码
二、三种延时的快速方法:
1.Handler的postDelayed方法:
按 Ctrl+C 复制代码
按 Ctrl+C 复制代码
2.timer + TimerTask方法:
复制代码
1 timer = new Timer();2
timer.schedule(new TimerTask() {
3
@Override4
public void run() {5
//do something6
}7
},1000);//延时1s实行
复制代码
3.Thread方法:
复制代码
1 new Thread(new MyThread()).start(); 2
new Thread(new Runnable() { 3
@Override 4
public void run() { 5
try { 6
Thread.sleep(1000);//常州网站开发培训延时1s 7
//do something 8
} catch (InterruptedException e) { 9
e.printStackTrace();10
}11
}12
}).start();
上篇:上一篇:Java计较时差、日期差总结
下篇:下一篇:Android应用65K方法数Dex Error