sendToTarget 和 sendMessage 区别

  • sendtoTarget,是message的方法(这个要事先知道目标是谁,才能调)
  • sendMessage是Handler的方法(这个是目标直接自己调)
Message msg = handler.obtainMessage(); 
msg.arg1 = i; 
msg.sendToTarget(); 
Message msg=new Message(); 
msg.arg1=i; 
handler.sendMessage(msg); 
  • 第一种写法是message 从handler 类获取,从而可以直接向该handler 对象发送消息;
  • 第二种写法是直接调用 handler 的发送消息方法发送消息。

推荐第一种写法,此写法的 message 来自 MessagePool ,省去了创建对象申请内存的开销

你可能感兴趣的:(sendToTarget 和 sendMessage 区别)