没有人知道某种替代的JVM语言,但是它可能是晦涩的,它可以编译为普通的旧Java字节码,而无需语言运行时。

我需要这样做,以便尝试开发没有启动或尺寸损失的android应用程序。 Scala,Clojure和Groovy都需要随应用程序一起分发其自己的运行时库,因此它们不在此问题范围之内。

唯一可以满足此目标的语言是Charles Nutter的Mirah,但是我无法使其在Windows上运行。

编辑:为了澄清一点,我知道任何语言都必须具有运行时库。显然,我要寻找的是一种除了JRE或至少非常有限的语言之外不需要其他运行时的语言。

最佳答案

我没有想到的(也许是Mirah,这是实验性的,我猜至少需要一些其他的类)。每种语言都需要一个运行时来执行您要执行的任务。

唯一的区别是您的设备上已经有多少个可用的类。
如果您开发Java并且仅使用设备上已经存在的库,则您的应用程序将非常小。

尽管这可能不是解决问题的最佳方法,但您是否考虑过使用ProGuard?
ProGuard可以删除运行时中未在特定程序中使用的部分。

如果速度和时间确实很关键,则另一种方法是使用NDK(C/C++)。

10-07 19:32
查看更多