Android-线程间通信

Android-线程间通信

1. Android创建线程

线程池可参考:Java-Thread


2. 线程间通信ITC

ITC, Inter Thread Communication

(1)runOnUiThread()

直接将指定代码运行在主线程。

(2)View.post()

(3)AsyncTask

在主线程中调用开启后台任务,然后通过继承自 AsyncTask 的类并重写 doInBackground(Object[] objs)onPostExecute(Object obj) 分别指定后台任务以及任务执行完毕后的步骤。

  • AsyncTask 至少两个线程,最多有 2 * CPU + 1,核心线程数最少 2 个、最大 4 个,空闲线程存活时间 30 秒。
  • AsyncTask 内部维护了一个线程池和一个 Handler,所以有可能发生内存泄漏。

(4)Handler