AsyncTask
作者:互联网
①对handler的封装
②使用了线程池 串行线程池 execute方法
并行线程池 executeOnExecutor 并行 系统自带的线程池都是全局的 注意页面退出时要及时取消当前页面没有完成的任务
③ onPreExecute
onPostExecute doInbackground 让代码可读性更好
HandlerThread 带有Looper和消息队列的子线程
HandlerThread thread = new HandlerThread("worker");//创建一个HandlerThread对象 thread.start(); //让run方法运行起来 Handler handler = new Handler(thread.getLooper());//创建子线程Handler handler.post(new Runnable() {//发消息就是发送到子线程里了 @Override public void run() { } }); thread.quit();//退出线程
IntentService
创建一个可以在子线程执行耗时操作的服务 执行完任务之后 这个服务就会自动关闭
public class MyIntentService2 extends IntentService { public MyIntentService2() { super("MyIntentService2"); } @Override protected void onHandleIntent(Intent intent) { //这个方法会执行在子线程中 执行之后这个服务会关闭 if (intent != null) { } }
标签:thread,HandlerThread,AsyncTask,handler,线程,Handler,new 来源: https://www.cnblogs.com/nangongyibin/p/10425308.html