EventBus原理简介

EventBus原理简介转自 AndroidEvent 原理简介一 简介 EventBus 是一款事件总线开源库 在 Activity 和 Fragment 线程 服务等之间高效传递事件 有如下几个有点 1 传递事件更高效 2 代码看起来更简洁 3 运行效率高 4 jar 包小 50k 左右 5 可以避免各种复杂的生命周期依赖关系二 使用使用步骤 1 定义一个数据 model 比如一个 bean 类 作为传递的数据类型 2 在需要观察接收数据的类中注册 EventBus getdefault register this 3

转自Android Eventbus原理简介

一、简介

二、使用

三、事件分类:

四、运行机制

在这里插入图片描述

1、在register的时候,Eventbus类通过反射的方式,获取注册对象的所有带有@Subscribe注解的接收方法,不能是static和非public的,同时数据参数只有一个, 然后放到一个列表中。(如果在类中找不到接收方法,将会报异常

2、发消息的地方,post方法,通过PostingThreadState 进行消息的分发,分发消息就是查找列表中是否有符合参数要求的对象,然后通过反射的消息,invoke调用对应对象的方法。

3、在postToSubscription方法中,会区分事件的类型PostThread、MainThread、BackgroundThread、Async,如果是在本线程中分发事件,直接调用invoke进行。如果需要切换线程,则使用Handler sendMessage之后,在handleMessage中,发送事件。

参考资料:开源组件:EventBus

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/221203.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午6:40
下一篇 2026年3月17日 下午6:41


相关推荐

  • 当在Windows上安装SQL Server,点击setup,出现以下错误0 x84b10001[通俗易懂]

    当在Windows上安装SQL Server,点击setup,出现以下错误0 x84b10001[通俗易懂]当在Windows上安装SQLServer,点击setup,出现以下错误0x84b10001这个错误是系统文件损坏的原因造成的;解决办法:方法1.在命令提示符(管理员)中输入命令sfc/scannow,确认等待完成;之后在进行安装就可以了;2.去C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config配…

    2025年10月22日
    4
  • mysql datetime格式化日期(mysql start with)

    *版权声明:本文为博主原创文章,转载请注明出处。*我们在日常数据统计时常会遇到“2018-12-1216:21:12”or“2018-12-1216:21:12.609000”这样的时间格式,假如要统计某一天产生了多少条数据量,SQL该怎么写呢?本文希望能够对大家学习和使用有所帮助。contentcreateTime设备2018-12-1015:20:20…

    2022年4月13日
    53
  • 卷积基本计算公式

    卷积基本计算公式1 理论公式 2 tensorflow 中使用输入图片大小 W WFilter 大小 F F 步长 stridesSpadd 的像素数 P 输出大小为 NxNpadding SAME 时 会在图像的周围填 0 padding VALID 则不需要 即 P 0 一般会选 SAME 以来减缓图像变小的速度 二来防止边界信息丢失 即有些图像边界的信息发挥作用较少 部署到真实的机器上时 会遇到 Tensorflow 和 Caffe 的 padding 在左边补零和右边不相同的

    2026年3月18日
    2
  • 「OpenClaw」如何接入个人微信

    「OpenClaw」如何接入个人微信

    2026年3月15日
    3
  • kotlin的Delegates与lateinit对比

    kotlin的Delegates与lateinit对比首先 Thetwomodels andonepredat Delegates notNull apireference isbasedondel andlatercame LateInitiali Neithercover

    2026年3月19日
    2
  • 瑞利熵与香农熵_熵 信息

    瑞利熵与香农熵_熵 信息在信息论中,Rényi熵是Hartley熵,Shannon熵,碰撞熵和最小熵的推广。熵能量化了系统的多样性,不确定性或随机性。Rényi熵以AlfrédRény

    2022年8月3日
    9

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号