在Android的程序开发中,许多耗时操作都要放到子线程中,避免阻塞主线程,导致ANR。但是在使用异步线程的过程中都会遇到与主线程通信的问题。
在这里先总体介绍几种常见异步处理的技术,以及他们的对应关系:
Thread
使用Thread有两种方式,一直是使用Thread,一种是使用Runnable。
Thread方式:
public class MyThread extends Thread{
@Override
public void run() {
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
mHandler.sendEmptyMessage(0);
}
}
然后在使用的时候调用
new MyThread().start();
Runnable
public class MyRunnable implements Runnable{
@Override
public void run() {
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
mHandler.sendEmp