文章目录
前言
Android中的线程和线程池的使用频率非常高,本文总结了Android中常见的线程使用形式,希望对你有所帮助。
主线程和子线程
主线程(也叫UI线程):在java中默认情况下一个进程只有一个线程,这个线程就是主线程。其主要作用是处理和界面交互相关的逻辑,主线程不能做太多耗时的操作,否则会产生界面卡顿的感觉。为保持较快的响应速度,子线程就出场了。
子线程:也叫工作线程,除了主线程之外的都是子线程。
基本用途:主线程是运行四大组件及处理它们和用户的交互,子线程处理耗时的任务,如网络请求、I/O操作等。
Android中的线程表现形式:
Thread、AsyncTask、HanderThread、IntentService.
简单介绍一下后三者的注意事项:
-
1.AysncTask: 可理解为轻量级的线程池,异步任务类,其封装了Thread和Handler,通过AysncTask可以很方便的执行后台任务及在主线程中访问UI.
缺点:不适合进行特别耗时的后台任务,对于特别耗时的任务最好用池线程池替换。
-
HandlerThread: 继承自Thread,它是一种可以 使用Handler和Thread.实现也很简单,在run方法中通过Looper.prepare()来创建消息队列,并通过Looper.loop()来开启消息循环。
<