Message创建方式:new Message和obtainMessage的区别
来源:互联网 发布:淘宝店铺怎么解开 编辑:程序博客网 时间:2024/05/17 07:45
1. 前言
创建Message对象的时候,有三种方式,分别为:
1.Message msg = new Message();
2.Message msg2 = Message.obtain();
3.Message msg1 = handler1.obtainMessage();
这三种方式有什么区别呢?
2.使用方式
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
3.源码讲解
1)Message msg = new Message();这种就是直接初始化一个Message对象,没有什么特别的。
2)Message msg2 = Message.obtain();
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
从注释可以得知,从整个Messge池中返回一个新的Message实例,通过obtainMessage能避免重复Message创建对象。
3)Message msg1 = handler1.obtainMessage();
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
- 5
- 6
- 1
- 2
- 3
- 4
- 5
- 6
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
可以看到,第二种跟第三种其实是一样的,都可以避免重复创建Message对象,所以建议用第二种或者第三种任何一个创建Message对象。
0 0
- Message创建方式:new Message和obtainMessage的区别
- Message创建方式:new Message和obtainMessage的区别
- Handle用法中Message创建方式:new Message和obtainMessage的区别
- Android new Message()和Message.obtainMessage的区别
- Android中obtainmessage(),obain()和new message()的区别.
- Handler 子线程new Message和obtainMessage的区别
- handler obtainMessage() new Message() 的区别
- Handler传值方式及Message和obtainMessage的区别
- Android Message和obtainMessage的区别
- Android Message和obtainMessage的区别
- Android Message和obtainMessage的区别
- Android Message和obtainMessage的区别
- Android中Message和obtainMessage的区别
- Android Message和obtainMessage的区别
- Android Message和obtainMessage的区别
- Android Message和obtainMessage的区别
- Android Message和obtainMessage的区别
- Android Message和obtainMessage的区别
- Javascript获取浏览器类型和版本
- java的形参,返回值,修饰符,内部类的详解
- 网易2017春招 魔力手环 矩阵快速幂
- 关于mybatis批量保存 Parameter '__frch_item_0' not found. Available parameters are [list]的错误
- 圆的面积
- Message创建方式:new Message和obtainMessage的区别
- 通过指令“ps -l”查看进程信息
- 英语课小话剧之When Amish met IT
- 2017华为实习生机试题--任务调度
- web.xml加载顺序
- 关于4次握手及握手之前PMK的生成的理解
- 腾讯2017暑期实习生OMG事业群一面面经
- CMD 创建oracle用户
- PS 学习笔记(一)