首页 > 代码库 > 【小随笔】Android中Message的创建——New Message与Handle#obtainMessage()

【小随笔】Android中Message的创建——New Message与Handle#obtainMessage()

private void TestHandlerMessage(){
  Message msg = new Message();
  msg.what = 1;
  handler.sendMessage(msg);
}
 

在很多Android工具书上,经常出现与上面代码相似的片段。

而在真正接触项目,需要对性能有更好把握的时候又能看到这样的代码段:

private void obtainMessageTest(){
  Message msg = handler.obtainMessage();
  msg.what = 1;
  handler.sendMessage(msg);
}
 
 
结论:两种创建Message的方法其实都有一定的用户基础,但是在需要考量性能的项目中还是使用Handler#obtainMessage()为佳。因为obtainMessage()方法并不是创建新Message而是从MessagePool中取出一个空闲Message供开发者使用。