1.第一种使用Handler调用线程的情况:
Handler mHandler = new Handler();
Runnable runnable = new Runnable(){
public void run(){
//do something
}
}
mHandler.post(runnable);
2.第二种使用Thread直接创建线程的情况:
new Thread(){
public void run(){
// do something
}
}.start();
3.在Android下Handler和Thread 创建的线程两者的区别是什么?
1)第一种情况通过mHandler.post(r)其实是只调用主线程的run()方法,并不是调用start()方法来启动一个新线程。
2)第二种方法是启动一个新线程,也就是说它跟主线程不是同一个线程。而第一种还是在主线程中的,不同是调用了主线程的run方法,把消息插入到主线程的消息队列里面,等待主线程执行。