三种启动线程方法
1.Thread(类)
new Thread(){
@Override
public void run() {
//需要在子线程中处理的逻辑
}
}.start();
2.Runnable(接口)
new Thread(new Runnable() {
@Override
public void run() {
//需要在子线程中处理的逻辑
}
}).start();
3.handler+runnable
new Handler().post(new Runnable(){
public void run() {
}
});
三种延时效果
1.单独使用Thread
Thread thread2=new Thread(){
@Override
public void run() {
super.run();
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
Log.e("XXXXXXXXXXXXXXXXXXX", "thread2");
}
};
启动就用thread2.start()
其中Thread.sleep(),可以达到延时效果
2.使用Handler
Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
Log.e("XXXXXXXXXXXXXXXXXXX", "Handler");
}
};
启动时handle.sendMessage
如果使用handler.sendMessageDelaey(Message,2000),可以达到延迟效果
3.Handler+runnable
new Handler().postDelayed(new Runnable(){
public void run() {
}
}, 1000);