我很想知道是什么让 google 选择在 java VM 上开发 android 的框架。
在为android编写代码近6个月的过程中,我观察到在资源有限的平台上的VM上运行代码真的很慢。涉及很多开销。我知道 java 是可移植的等等,难道根本不可能使用本地语言并获得 VM 提供的性能和功能吗?对于面向性能的应用程序,最终还是要编写本机代码并用 JNI 包装它,
那么为什么谷歌选择这个特定的堆栈:
- 基于ARM的内核(可以理解,ARM最适合移动设备)
- Linux(开源)
- Java VM(我的问题)
编辑:我知道 java - JVM 在我的服务器上与 C++ 应用程序一样运行,但在 android 上却没有。关于 android,情况并非如此-根据我的经验,用 JNI 包装的 C++ 代码比 java 代码运行得快得多(注意,我什至检查了 java 中静态块中完全相同的代码)我会同意你的在任何其他平台上回答。