Android中 创建线程的几种方式及代码
在Android中创建线程主要有以下几种方式:
1.继承Thread类
public class MyThread extends Thread {
@Override
public void run() {
// 线程需要执行的任务
}
}
MyThread thread = new MyThread();
thread.start();
2.实现Runnable接口
public class MyRunnable implements Runnable {
@Override
public void run() {
// 线程任务
}
}
new Thread(new MyRunnable()).start();
3.使用线程池ExecutorService
ExecutorService executor = Executors.newSingleThreadExecutor();
executor.submit(new Runnable(){
// 线程任务
});
4.HandlerThread
HandlerThread thread = new HandlerThread("name");
thread.start();
Handler handler = new Handler(thread.getLooper());
handler.post(new Runnable() {
// 线程任务
});
5.AsyncTask
new AsyncTask<Params, Progress, Result>() {
@Override
protected void onPreExecute() {
super.onPreExecute();
// 在后台任务执行前被调用,用于进行一些初始化操作,运行在UI线程中。
}
@Override
protected Result doInBackground(Params... params) {
// 在后台线程中执行,用于进行实际的耗时任务。需要返回任务执行的结果。
return result;
}
@Override
protected void onProgressUpdate(Progress... progress) {
// 更新进度 在publishProgress()被调用时触发,用于显示任务进度,运行在UI线程中。
}
@Override
protected void onPostExecute(Result result) {
// 在后台任务执行完成后在UI线程中被调用,用于处理任务结果
}
}.execute();
这些都是Android中常见的创建及管理线程的方式,各有优劣,可以根据需要选择。