【发布时间】:2010-05-29 04:34:59
【问题描述】:
有人告诉我,Android 操作系统将所有函数调用存储在一个堆栈中。这可能会导致许多问题并在运行时导致“打嗝”,即使程序功能正确,对吗?
所以问题是,我们如何才能防止这种情况发生?显而易见的解决方案是减少功能化,以及其他明智的行为,例如避免过度/不必要地创建对象、对不访问字段的函数执行静态调用等......
还有其他方法吗?或者这只能通过程序员仔细编写代码来完成? JVM/JIT 是否会在编译时自动优化字节码来解决这个问题??
非常感谢您的回复!
【问题讨论】:
-
有趣的问题。请记住,Android 设备不运行 Java 字节码。 Java 被编译成 Dalvik 可执行文件(与 Java 不同,它是基于寄存器的架构,而不是基于堆栈的)。
标签: android optimization function callstack