【问题标题】:Aspect-oriented programming in androidandroid中的面向切面编程
【发布时间】:2023-04-03 23:27:01
【问题描述】:

在 Android 应用程序中实现面向切面编程 (AOP) 的最佳方式是什么?

用手机电池效率高吗?

【问题讨论】:

  • AOP 与电池有何关系?虽然 AOP 在技术上可以通过在方法中注入代码来实现,但对电池的影响肯定与以其他方式运行所述代码相同吗?
  • 我想这取决于效率。如果 AOP 是一种更有效的代码实现方式,那么它会更容易消耗电池。然而,这将是一件非常难以衡量的事情,而且影响可能非常轻微。
  • Fernando Cejas 写了一篇关于 Android 中 AOP 的博文。基本上,您可以使用两种方法: 1. 使用 AspectJ 2. 使用动态代理。 fernandocejas.com/2014/08/03/…

标签: java android aop


【解决方案1】:

这取决于它是如何实现的。

例如,AspectJ 的编译时编织可以在 android 上工作,但运行时编织不能。 Android 不支持字节码生成。

查看Guice wiki

幕后,方法拦截 通过生成字节码来实现 在运行时。 Guice 动态创建 应用拦截器的子类 通过覆盖方法。如果你在一个 不支持字节码的平台 一代(如Android),你 应该使用没有 AOP 支持的 Guice。

【讨论】:

    猜你喜欢
    • 2011-07-31
    • 1970-01-01
    • 1970-01-01
    • 2014-05-03
    • 2010-10-26
    • 1970-01-01
    • 2010-09-23
    • 2010-09-18
    • 2010-11-24
    相关资源
    最近更新 更多