Android APT实战

Android开发中,注解平时我们用的比较多,也许我们会比较好奇,注解的背后是如何工作的,这篇文章帮大家一步步创建一个简单的注解处理器。

简介

APT(Annotation Processing Tool)即注解处理器,在编译的时候可以处理注解然后搞一些事情,也可以在编译时生成一些文件之类的。ButterKnife和EventBus都使用了APT技术,如果不会APT技术就很难看懂这两个框架的源码。

作用

使用APT可以在编译时来处理编译时注解,生成额外的Java文件,有如下效果:

  • 可以达到减少重复代码手工编写的效果。

如ButterKnife,我们可以直接使用注解来减少findviewbyid这些代码,只需要通过注解表示是哪个id就够了。

  • 功能封装。将主要的功能逻辑封装起来,只保留注解调用。
  • 相对于使用Java反射来处理运行时注解,使用APT有着更加良好的性能。

APT与AOP简介

  • APT是在编译开始时就介入的,用来处理编译时注解。
  • AOP(Aspect Oridnted Programming)是在编译完成后生成dex文件之前,通过直接修改.class文件的方式,来对代码进行修改或添加逻辑。常用在在代码监控,代码修改,代码分析这些场景。

APT基本使用

基本使用流程主要包括如下几个步骤:

  1. 创建自定义注解
  2. 创建注解处理器,处理Java文件生成逻辑
  3. 项目中调用

APT 工程

APT 工程创建

一般情况下,APT 大致的的一个实现过程:

1、创建一个Android项目

相关推荐

  1. <span style='color:red;'>实战</span>

    实战

    2024-07-11 09:12:03      27 阅读
  2. MySQL实战

    2024-07-11 09:12:03       44 阅读
  3. WebSocket实战

    2024-07-11 09:12:03       39 阅读
  4. Docker实战

    2024-07-11 09:12:03       42 阅读
  5. ELK实战

    2024-07-11 09:12:03       48 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-11 09:12:03       53 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-11 09:12:03       55 阅读
  3. 在Django里面运行非项目文件

    2024-07-11 09:12:03       46 阅读
  4. Python语言-面向对象

    2024-07-11 09:12:03       56 阅读

热门阅读

  1. 包管理器-npm、yarn、cnpm、pnpm的比较

    2024-07-11 09:12:03       21 阅读
  2. Android Studio gradle下载失败?!

    2024-07-11 09:12:03       25 阅读
  3. UWB系列教程(一)UWB简介

    2024-07-11 09:12:03       22 阅读
  4. PHP框架详解 - symfony框架

    2024-07-11 09:12:03       20 阅读
  5. 微信小程序---模板语法

    2024-07-11 09:12:03       23 阅读
  6. [终端安全]-6 移动终端之应用程序安全

    2024-07-11 09:12:03       17 阅读
  7. AI学习指南机器学习篇-层次聚类合并策略

    2024-07-11 09:12:03       21 阅读
  8. DPDK源码分析之(1)libmbuf模块补充

    2024-07-11 09:12:03       19 阅读