【问题标题】:How to view Android code after JIT optimization?JIT优化后如何查看Android代码?
【发布时间】:2021-06-23 23:40:14
【问题描述】:

希望你一切都好。

在编程时,我开始怀疑我的懒惰(但漂亮)的代码最终是否会得到优化,而我不需要关心优化与否。所以我进行了一些搜索,发现 HotSpot 或 OpenJ9 是我可以用来将 java 代码编译成程序集并对其进行优化的工具。

所以我想,如果我把我的 example.kt 代码变成 example.class 并在这个 example.class 上运行 HotSpot 或 J9,我可以查看优化的代码。

我在下面尝试过,但它只产生了一个错误代码。

java -XX:+UnlockDiagnosticVMOptions -XX:CompileCommand=print, com.xxx.android.Example ~/Desktop/.../jarName.jar
Error: Could not find or load main class com.xxx.android.Example

如果有人以前尝试过,请您帮我找到一种方法来获得优化的 android 代码吗?非常感谢。

【问题讨论】:

    标签: android compiler-optimization jit jvm-hotspot openj9


    【解决方案1】:

    Hotspot 和 OpenJ9 将编译为汇编,汇编代码是您运行它们的平台的汇编,在您的程序运行时或之前。它将从类文件编译为该平台上的本机代码。

    由于您无法在 Android 上运行 Hotspot 或 J9,因此您无法通过这种方式为 Android 编译。

    对于 Android,您使用 Android ART 编译器,它在一个多步骤的过程中从类文件编译到设备外部的 dex 文件和 apk 文件,然后在 Android 设备上编译为原生代码。

    【讨论】:

      猜你喜欢
      • 2015-12-29
      • 1970-01-01
      • 2011-05-26
      • 2011-03-26
      • 2010-12-05
      • 1970-01-01
      • 1970-01-01
      • 2016-10-27
      • 1970-01-01
      相关资源
      最近更新 更多