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文件进行操作。
代表作品: 各类热修复框架(为了解决类校验问题)。
各个工具操作时机图: