【发布时间】:2011-10-04 23:54:28
【问题描述】:
我想为 Android 创建一个游戏,我需要在 SDK 和 NDK 之间进行选择。手机硬件有限,我想避免速度变慢,但是 Java 速度慢,占用内存太多。
NDK 应用程序是否比 SDK 应用程序更快、更高效?
Java 使用垃圾收集器,所有对象都分配在堆上,我不能在另一个对象内部分配对象(没有指针),并且用作结构的简单类继承 Object 类。
我的 NDK 程序会被转换成 Java 字节码吗?编译器会忽略我的删除调用、添加垃圾收集器、添加 Object 类并将我的所有对象转移到堆中吗?
【问题讨论】:
-
市场上的大部分Android游戏都是用Java编写的。那应该回答你的问题。
-
谁说 Java 很慢而且占用太多内存..?
-
我还想我会补充一点,拥有快速算法比你正在编写的语言更重要。在慢速语言中拥有一个好的算法将比在一个慢速语言中拥有一个糟糕的算法要好得多。更快的语言。
-
@ZachJullion 快速语言中的好算法优于慢速语言中的好算法。当您无法按照自己的意愿进行优化时,Java 在某些时候可能会很烦人,因为本应让您的生活“更轻松”的结构却不允许您这样做。
标签: java android performance android-ndk