您的位置:首页 > 大数据 > 人工智能

Message和obtainMessage的区别

2015-06-04 18:58 489 查看
具体可参考:http://blog.csdn.net/duqiuke/article/details/39577413

尽管Message的构造器是公开的,但是获取Message对象的最好方法是调用Message.obtain()或者Handler.obtainMessage(), 这样是从一个可回收对象池中获取Message对象。

这样就避免了过分new出一个个Message对象造成内存开销。

使用:

//①,使用new Message()
//Message mess = new Message();
//②,使用Message.obtain()
Message mess = Message.obtain();
mess.what =1;
//③,使用mHandler.obtainMessage();
//mHandler.obtainMessage(1)与上两行的代码一样,可以参考源码查看
Message mess = mHandler.obtainMessage(1);
Message mess = mHandler.obtainMessage();
mHandler.sendMessage(mess);

所以,还是尽量使用obtainMessage。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: