7

我可以为 Android 编写纯 C++ 应用程序吗?(例如,使用 NDK?)

考虑到功能上没有区别,纯 Android C++ 应用程序是否比 Android Java 应用程序更快并且消耗更少的内存?仅凭我的猜测,我猜是肯定的,因为 C++ 应用程序不会进行垃圾收集,这会导致帧速率打嗝。

4

2 回答 2

15

是的,是的,尽管谷歌说:

“使用本机代码不会自动提高性能,但总是会增加应用程序的复杂性……如果您编写本机代码,您的应用程序仍会打包到 .apk 文件中,并且它们仍会在设备上的虚拟机内运行。基本的 Android 应用程序模型不会改变。”

来自http://developer.android.com/sdk/ndk/index.html

(就我个人而言,我不同意用 C++ 自动编写比 Java 更复杂的程序,我什至会说这对于熟练的 C++ 程序员来说恰恰相反)

于 2012-06-11T09:36:05.893 回答
0

好吧,不,你不能在安卓设备上做纯 C++。

没有理由这样做。您仍然在与您的 java 代码相同的虚拟机中运行。因此,除非您需要压缩这些微小的性能,否则您将使用 c++ 编写消耗 CPU 的过程并通过 Java 代码调用它们。

听起来您正在制作游戏,然后只需将 OpenGL ES 与 java 一起使用,然后将繁重的计算卸载到计算着色器中。

于 2019-12-22T07:18:40.200 回答