赞
踩
马上就要光棍节了,时间到此,这个光棍节前脱光是不太可能了,还是看代码吧,当你想请人看电影都请不到的时候,明天购物,今天看代码,到11点,看阿森纳比赛,12点,买东西?现在的经济状况,真是负翁了。
好吧,进入正题吧,在上个周末,看了Handler源码解析、MessageQueue源码解析、Looper源码解析这三个源码,在handler提醒中,还有Message这个信息载体类,今天来看下。
看下类定义:
定义一个包含任意类型的描述数据对象,此对象可以发送给Handler。对象包含两个额外的int字段和一个额外的对象字段,这样可以使得在很多情况下不用做分配工作。尽管Message的构造器是公开的,但是获取Message对象的最好方法是调用Message.obtain()或者Handler.obtainMessage(), 这样是从一个可回收对象池中获取Message对象。
看一下全局变量:
下面看obtain方法:
在看它一系列的重载方法:
设置一个任意数据值的Bundle对象。如果可以,使用arg1和arg2域发送一些整型值以减少消耗。
参考
getData()
peekData()
获取附加在此事件上的任意数据的Bundle对象,需要时延迟创建。通过调用setData(Bundle)来设置Bundle的值。需要注意的是,如果通过Messenger对象在进程间传递数据时,需要调用Bundle类的Bundle.setClassLoader()方法来设置ClassLoader,这样当接收到消息时可以实例化Bundle里的对象。
参考
peekData()
setData(Bundle)
与getData()相似,但是并不延迟创建Bundle。如果Bundle对象不存在返回null。更多信息见getData()。
参考
getData()
setData(Bundle)
设置一个任意数据值的Bundle对象。如果可以,使用arg1和arg2域发送一些整型值以减少消耗。
参考
getData()
peekData()
构造方法:
toString方法:
描述了包含在Parcelable对象排列信息中的特殊对象的类型。
返回值
一个标志位,表明Parcelable对象特殊对象类型集合的排列。
好吧,这个是送给自己光棍节的礼物!!!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。