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