新闻资讯

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻资讯列表

Android中post和send的不同是什么,android post工具

发布时间:2023-09-27 12:46:30

Android中post和send的不同是甚么

在Android中,"post"和"send"都是用于发送消息的方法,但它们具有一些不同。

  1. post:post方法用于在主线程的消息队列中发布一个消息并立即返回。这意味着消息可能不会立即处理,而是在主线程中的消息队列中等待履行。通常情况下,post方法用于在UI线程中更新UI元素,以确保在主线程上履行。

示例代码:

Handler handler = new Handler();
handler.post(new Runnable() {
@Override
public void run() {
// 在主线程中履行的代码
}
});
  1. send:send方法用于在子线程中发送消息。与post方法区分,send方法不会将消息放入主线程的消息队列中,而是直接将消息发送到指定的线程中。这意味着该消息将立即履行,而不需要等待主线程空闲。

示例代码:

HandlerThread handlerThread = new HandlerThread("MyHandlerThread");
handlerThread.start();
Handler handler = new Handler(handlerThread.getLooper());
handler.send(new Message());

总结:post方法适用于在主线程中履行的任务,而send方法适用于在子线程中履行的任务。post方法将消息放入主线程的消息队列中,等待主线程处理;send方法将消息直接发送到指定的线程中,不需要等待处理。