Android AOP三大金刚简介

原文地址:http://www.jianshu.com/p/be8a573f5810
相关文章:http://www.jianshu.com/p/dca3e2c8608a
大神要不是去了简书要不就是有自己的博客,****日不就已?

AOP是什么这里不多作解释了,个人理解总结下来就是相对于各个垂直深入的业务逻辑,每个业务逻辑深度的某个层面他们有需要共同的特征,此时对这种特征进行统一的处理,也就是所谓的AOP(欢迎拍砖哈,技术在讨论中提升)

主要应用场景:

  • 权限检查
  • 日志记录
  • 性能监控
  • 埋点操作

Android 下一些可以进行AOP的工具

APT

在编译时生成 .java 文件。

代表作品 ButterKnife 、 DataBinding、 EventBus3、Dagger2 等。

AspectJ

在.java编译为.class的时候,进行代码注入。

代表作品: Hugo

Javassist

对已经编译好的class文件进行操作。

代表作品: 各类热修复框架(为了解决类校验问题)。

各个工具操作时机图:
Android AOP三大金刚简介

Android_AopDemo: https://github.com/githubwing/AopDemo