安卓bundle、handler、message关系和实现

安卓bundle、handler、message关系和实现(自己理解而已不一定准确):
bundle英文翻译为捆、包。见译知义,bundle类就是一个数据载体,里存放的是key-value名值对形式的值,类型可以是8大基本类型及各种数组和string类型及其他,其常用方法就是putxxx(“key”,“value”)和getxxx(“key”,“value”),其中xxx代表这各数据类型比如bundle.putint(“a”,“4”);其意思就是将一个int变量a其对应数值为4放入bundle实例中,也就是说这个bundle可以是一堆数据的打包,用于传输。
message意思即为信息消息,差不多同样也是携带数据的一个载体,但是一般他是handler来传输消息数据的,其中包括两个整形类型数据和一个object类型数据加一个用户自定义的what代码数值区分接收者,因为object类是根类所以该携带的数据类型可以是任何类,当然也可以使用上面的bundle类型数据了。一个线程中有个存放message的队列叫做messagequeue------一个链表形式的message队列。
handler英文意思为搬运工,操作工。意思他好像一个传输数据的工具类,而这个传输数据一般用于线程间,当子线程开启后需要传输一些数据给主线程时就使用他,他主要有两个作用也就是两个方法,一个是发出数据一个是处理数据,分别为sendmessage和handlemessage,在主线程中实例化后需要重写其handlemessage方法,在子线程中调用sendmessage方法,其运行机制就是子线程中调用sendmessage(message msg)方法后将其中携带的数据message放入一个message队列中,由一个message队列管理者looper来循环处理这些message,当处理到该message后就会将其返送给其主线程的对应的已实例化的handler并使用重新的handlemessage方法处理。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值