Handler sendMessage 与 obtainMessage (sendToTarget)比较
2014-06-20 18:26
337 查看
话说在工作中第一次接触android 的Handler 的时候,不知道怎么去关注性能。记得当时这么写的:
Message msg = new Message(); msg.what = xxx; msg.arg1 = xxx; msg.arg2 = xxx;
Handle mHandler = new Handler(){
@Overridepublic void handleMessage(Message msg) {
......
}
}mHandler.sendMessage(msg);这样写也没有绝得不好,反正当时项目的功能实现了。(性能上还可以)后来没事的时候看了看handler 的其他的方法,就看到了obtainMessage()这个方法.
Handle mHandler = new Handler(){
@Overridepublic void handleMessage(Message msg) {
......
}
}
Message msg = mHandler.obtainMessage();msg.what = xxx;msg.arg1 = xxx;msg.arg2 = xxx;msg.obj = xxx;
//mHandler.sendMessage(msg);
msg.sendToTarget();从整个Messge池中返回一个新的Message实例,在许多情况下使用它,因为它能避免分配新的对象如果是这人的话,那么通过调用obtainMessage方法获取Message对象就能避免创建对象,从而减少内存的开销了。
相关文章推荐
- Handler sendMessage 与 obtainMessage (sendToTarget)比较
- Handler sendMessage 与 obtainMessage (sendToTarget)比较
- Handler sendMessage 与 obtainMessage (sendToTarget)比较
- Handler sendMessage 与 obtainMessage (sendToTarget)比较
- Handler sendMessage 与 obtainMessage (sendToTarget)比较
- Handler sendMessage 与 obtainMessage (sendToTarget)比较
- Handler sendMessage 与 obtainMessage (sendToTarget)比较
- Handler sendMessage 与 obtainMessage (sendToTarget)比较
- Handler sendMessage 与 obtainMessage (sendToTarget)比较
- Handler sendMessage 与 obtainMessage (sendToTarget)比较
- Handler sendMessage 与 obtainMessage (sendToTarget)比较
- Handler sendMessage 与 obtainMessage (sendToTarget)比较
- Handler sendMessage 与 obtainMessage (sendToTarget)比较
- Handler sendMessage 与 obtainMessage (sendToTarget)比较
- Handler sendMessage 与 obtainMessage (sendToTarget)比较
- Handler sendMessage 与 obtainMessage (sendToTarget)比较
- Handler sendMessage 与 obtainMessage (sendToTarget)比较
- Handler sendMessage 与 obtainMessage (sendToTarget)比较
- Handler sendMessage 与 obtainMessage (sendToTarget)比较
- Handler sendMessage 与 obtainMessage (sendToTarget)比较