一. 前言

Android多线程的三种使用方式:

二. 基础使用

1. 继承Thread类

参考:Java 多线程

优点:实现简单。

缺点:局限性大,不适合资源共享,消耗资源。

2. 实现Runable接口

参考:Java 多线程

优点:适合资源共享,灵活。

3. Handler

参考:有用的Handler

意义:多个线程并发更新UI的同时,保证线程安全。

三. 复合使用

”复合“ 的原因是:本质原理都是 Android多线程基础实现(继承Thread类、实现Runnable接口、Handler)的组合实现。

1. AsyncTask

Android网络-请求数据

优点:

  • 方便实现异步通信:不需要使用 任务线程 + Handler 的复杂组合。
  • 节省资源:内部采用线程池的缓存线程 + 复用线程,避免了频繁创建和销毁线程所带来的系统开销。

2. HandlerThread

Android多线程-HandlerThread

优点:方便实现异步通信:不需要使用 任务线程 + Handler 的复杂组合。

3. IntentService

IntentService

最常见的情景:离线下载。

四. 高级使用

Android多线程-线程池

优点:

  • 降低因线程的创建和销毁所带来的性能开销(通过重用缓存在线程池的线程)。
  • 提高线程的响应速度和执行效率(重用线程达到不需要创建线程即可马上执行,线程管理可以优化线程的执行顺序)。

五. 各种多线程实现方式的比较

参考文章

Android:关于多线程的总结知识都在这里了!