• annotationProcessorOptions注解处理器


    在这里插入图片描述

    使用APT技术的索引类可以改善eventbus的效率

    如果不适用索引类就不用设置,也没有必要引入eventbus的注解处理器
    如果要使用索引类,并且也引入了eventbus的注解处理器,但是没有设置arguments的话会报错

    索引类的生成需要在初始化eventbus的时候应用我们生成的索引类

    之所以要配置索引类,是因为需要把生成的索引类添加到subscriberInfoIndexs集合里
    这样才能从之前讲解getsubscriberInfo里找到配置的索引类
    addIndex代码如下所示
    自动生成的索引类里已经包含了相关订阅者中的订阅方法的名称和注解信息
    在eventbus注册订阅者的时候可以直接通过方法名称拿到方法对象
    减少通过遍历寻找方法的时间

    编译时注解处理器AnnotationProcessor的使用

    在eventbus编译期EventBusAnnotationProcessor会生成一个MyEventIndex的java类文件,并把带有@subscribe的方法信息保存在这个方法里,并在注册的时候获取订阅方法信息
    jkd5开始

    注解与APT注解处理技术详解

    注释是元数据的一种形式,提供了有关程序的数据,不属于程序本身
    包括编译器信息,编译时和部署时处理,软件工具可以处理注释信息来生成代码,xml文件,运行时处理一些注解可以再运行的时候检查

    apt就是Annotation Processor Tool,是javac的一个工具,中文是编译时注解处理器,可以再编译的时候扫描和处理注解
    通过apt可以获取到注解和被注解对象的相关信息

    一个注解的注解处理器,以java代码作为或编译过的字节码作为输入,生成文件(一般是.java文件)输出
    生成的java代码是在生成的java文件里的,所以不能修改已经存在的java类,比如向已有的类里添加方法,这些已经生成的java文件会和其他普通的手动编写的java源代码一样被javac编译

    注解处理过程可能会躲过一次,这是一个有序的循环过程,每次循环里,一个处理器可能被要求去处理上一次循环里产生的元文件和类文件里的注解

    在使用activity和fragment的时候经常需要使用intent,bundle来传递数据
    这些代码一般是重复的
    app需要添加依赖,annotationProcessor project(‘:inject-processor’)说明inject-processor将被作为注解处理器
    编译app的时候则会调用inject-processor进行处理注解。

    在这里插入图片描述

  • 相关阅读:
    无人机与视觉结合项目
    打假Yolov7的精度,不是所有的论文都是真实可信
    RORγ 反向激动剂-XY101 小分子化合物
    PMBOK(项目管理实践指南)绝不是PMP考试的指定教材,看完你就知道
    python3GUI--仿做一个网易云音乐(第三弹v2.0)By:PyQt5(附下载地址)
    【表达式求值问题】算符优先算法解决表达式求值问题
    Vue项目中常见问题(56)微信支付业务的实现
    Linux操作系统中如何查看系统层面的各项参数
    亮点“剧透”丨一年一度的开发者盛会观看指南
    打印水仙花数---c语言刷题
  • 原文地址:https://blog.csdn.net/weixin_46045444/article/details/125003187