xuexiangjys / XAOP

🔥A lightweight AOP(Android) application framework. Includes the most practical AOP applications.(一个轻量级的AOP(Android)应用框架。囊括了最实用的AOP应用)
https://xuexiangjys.github.io/XAOP/
Apache License 2.0
732 stars 96 forks source link

几个建议 #5

Open timbobo opened 5 years ago

timbobo commented 5 years ago
  1. AspectJ本身在移动端已经属于重量级AOP框架了,建议用ASM

  2. 插件AOP织入我看到是通过javaCompile去织入,这样有个问题就是不同Module需要每次都依赖插件,因为javaCompile只会编译单个Module起效,建议在Gradle插件中通过Transform将字节码用AspectJ去切,这样只需要在APP Module中Apply插件即可

xuexiangjys commented 5 years ago
  1. AspectJ本身在移动端已经属于重量级AOP框架了,建议用ASM
  2. 插件AOP织入我看到是通过javaCompile去织入,这样有个问题就是不同Module需要每次都依赖插件,因为javaCompile只会编译单个Module起效,建议在Gradle插件中通过Transform将字节码用AspectJ去切,这样只需要在APP Module中Apply插件即可

感谢你提的建议,使用AspectJ本身就是因为其写起来方便,当时也并没有考虑到性能的问题,只是受JakeWharton的hugo启发才写的这个,当然后续也可以写一个ASM版本的。

zhaolijunstar commented 5 years ago

大佬,写了ASM版本了吗