在Android开发中,线程间通信(IPC)是处理多线程协作的核心技术。Android提供了多种线程通信机制,各有特点和适用场景。
一、基础通信方式
1. Handler/Looper/MessageQueue机制
核心组件:
-
Handler:消息发送和处理
-
Looper:消息循环
-
MessageQueue:消息队列
典型实现:
// 工作线程发送消息
new Thread(() -> {
Message msg = Message.obtain();
msg.what = 1;
msg.obj = "Data from worker";
mainHandler.sendMessage(msg);
}).start();
// 主线程Handler
Handler mainHandler = new Handler(Looper.getMainLooper()) {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case 1:
String data = (String) msg.obj;
textView.setText(data);
break;
}
}
};
特点:
-
精确控制消息处理时机
-
适合主线程与工作线程通信
-
内存效率高(Message可复用)
二、高级通信方式
2. AsyncTask(已弃用,但需了解)
private class MyTask extends AsyncTask<String, Integer, String> {
@Override
protected String doInBackground(String... params) {
// 后台执行
publishProgress(50); // 更新进度
return "Result";
}
@Override
protected void onProgressUpdate(Integer... values) {
// UI线程更新进度



被折叠的 条评论
为什么被折叠?



