Handler中的obtainMessage

比较:

Message msg = new Message();

Message msg = handler.obtainMessage();  

第一种new对象

第二种是从MessagePool 拿的,省去了创建对象申请内存的开销


获取Message实例的方式

//获取Message实例的方式

Message msg1 = Message.obtain();

//或

Message msg2 = Handler.obtainMessage();


发送Message的方法

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 的发送消息方法发送消息。 

你可能感兴趣的:(多线程)