-
Notifications
You must be signed in to change notification settings - Fork 27
Home
FlyJingFish edited this page Feb 29, 2024
·
37 revisions
欢迎使用 AndroidAOP wiki文档,点击右侧导航栏看你想看的内容👉👉👉
- @AndroidAopPointCut 是注解切面,设置的注解加到任意一个方法上即可,当所加方法被调用时即可进入切面处理类
- @AndroidAopMatchClassMethod 是匹配切面,匹配到某个类的某些方法,当所在类的方法被调用时即可进入切面处理类
- @AndroidAopReplaceClass 是替换切面,会把设置的类的方法的所有调用处替换成替换切面类的方法
-
@AndroidAopMatchClassMethod 和 @AndroidAopPointCut 关注的是方法的执行(Method execution)
-
@AndroidAopReplaceClass 关注的是方法的调用(Method call)
-
注意@AndroidAopReplaceClass 和其他两种的有着本质的区别,前两种关注的是方法的执行,并且会自动保留可以执行原有逻辑的方法(即ProceedJoinPoint);
-
@AndroidAopReplaceClass 关注的是方法的调用,是将所有调用的地方替换为您设置的类的静态方法,并且不会自动保留执行原有逻辑的方法
-
@AndroidAopReplaceClass 的优点在于“相当于”可以监测到某些系统方法(android.jar里的代码)的调用,前两者不具备这个特点,所以如果不是基于此种需求,建议使用 @AndroidAopMatchClassMethod
选择合适的方式可以写出优美的代码
@AndroidAopMatchClassMethod是匹配切面用法
AndroidAOP Wiki 文档