腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
终身开发者
专栏作者
举报
54
文章
74361
阅读量
15
订阅数
订阅专栏
申请加入专栏
全部文章(54)
android(21)
编程算法(19)
https(19)
网络安全(18)
git(10)
github(10)
开源(10)
java(9)
python(7)
http(7)
webview(6)
flask(5)
api(5)
php(3)
javascript(3)
ide(3)
存储(3)
缓存(3)
xml(2)
html(2)
android studio(2)
数据库(2)
云数据库 Redis(2)
sql(2)
打包(2)
官方文档(1)
比特币(1)
区块链(1)
jquery(1)
json(1)
硬件开发(1)
access(1)
sqlalchemy(1)
jar(1)
unix(1)
apache(1)
文件存储(1)
消息队列 CMQ 版(1)
网站(1)
分布式(1)
html5(1)
wordpress(1)
单元测试(1)
gradle(1)
安全(1)
数据结构(1)
canvas(1)
kafka(1)
analysis(1)
architecture(1)
backend(1)
credentials(1)
height(1)
pipeline(1)
post(1)
super(1)
view(1)
void(1)
搜索文章
搜索
搜索
关闭
100行代码拆解EventBus核心逻辑(三)
java
打包
编程算法
在前文的讲解中对 EventBus 的实现逻辑有了大概的理解之后,我们知道 Java 解析注解可以在运行时解析也可以在编译期间解析。由于运行时解析是通过反射来获取注解标记的类、方法、属性等对象,它的性能要受到反射的影响。因此在一些基础组件中更常见的做法是使用注解解析器技术,像 Dagger、 butterknife、 ARouter 以及本文所接触的 EventBus等框架库都是使用到了注解解析器的技术。接下来我们来实现一个注解解析器。(本文代码有点多)
阳仔
2019-12-17
505
0
100行代码拆解EventBus核心逻辑(二)
打包
github
java
git
开源
前面我们参考 EventBus 的实现逻辑模仿了一个最简单的 EasyBus。这个其实也是观察者模式的实现,所以整体逻辑理解起来应该是不难的。在 EasyBus 中进行注册的时候是通过反射机制对观察者的信息进行注册,然后解析出监听接口和事件类型( onEventXXXMethod(MessageEvent)方法以及其参数)。可以看出在这个注册的过程中,使用了运行时的反射机制,这在追求性能极致的基础组件中,这是可以优化的点。那么如何优化呢?这就需要用到今天提到的注解以及注解解析器的相关技术了。
阳仔
2019-12-17
370
0
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
立即发文
Python精品学习库
代码在线跑,知识轻松学
立即查看
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
立即体验
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
立即查看
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档