android - 你将如何改进 Dalvik? Android的虚拟机

标签 android jit dalvik vm-implementation

我目前正在写一篇关于 Android 平台的论文。经过一番research ,很明显Dalvik还有改进的空间。我想知道,您认为将开发人员的时间用于实现这一目标的最佳方式是什么?

JIT 编译似乎是一个大问题,但我也听说这在如此低资源的机器上使用有限。有没有人有资源或数据来支持这一点?

还有其他选择吗?除了开发一个强大的原生开发工具包来绕过虚拟机。

有兴趣的可以看一下关于Dalvik VM的讲座已经录制上线。 .

欢迎提出任何想法,因为这个问题似乎是主观的,我将澄清我将接受的答案必须对提议的更改有一些理由。任何支持它的数据,例如 Sun JVM 在引入时的改进,都将是一个巨大的优势。

最佳答案

  1. 更好的垃圾收集:至少压缩(以消除当今遇到的内存 fragment 问题),理想情况下,在收集本身时 CPU 密集度较低(以减少“我的游戏帧速率糟糕”的提示)
  2. JIT,正如你所引用的那样
  3. 足够的文档,当与 NDK 结合使用时,足够疯狂的人可以将 Dalvik 字节码编译为 native 代码以用于 AOT 编译选项
  4. 使其与 Android 本身分离,以便其他项目可以对其进行试验,并且社区贡献可能会以更多的速度和更快的速度到达

如果您需要,我相信我可以提出其他想法。

关于android - 你将如何改进 Dalvik? Android的虚拟机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1023502/

相关文章:

java - 如何以编程方式从android中的url解析XML

java - JVM 编译时间与代码缓存

android - 64 位 android,32 位应用程序与 32 位 native 库

android - 基于寄存器的虚拟机如何实现寄存器

java - 我从第一个 Activity 中获取数据。在第二个 Activity 中,我尝试输入一个值,以便 y=beta0 +beta1*x。但是当我输入x时,结果y是0

android - jackson 2 反序列化

java - Android检查远程服务器是否在线

assembly - 如何在x86汇编中编写自修改代码

perl - Common Lisp是否具有最快的PCRE实现?

android - dex 加载程序无法执行 dex : method ID not in [0, 0xffff]:65536