android - 没有任何java的原生android开发?

标签 android c++ c assembly native

我最近对 ​​android 开发产生了兴趣,但对我来说最大的障碍甚至仅仅是想到使用 java 为手机开发。我对 java 能够以一致的帧速率制作高性能游戏的能力没有信心,我不希望我的程序在垃圾收集期间停止。我主要是一名 C/C++ 程序员(如果需要,我也会使用汇编语言),之前曾使用 Java 进行过编程,并且根据过去的经验发现,由于我可以更好地控制内存分配等各个方面,因此我可以优化我的程序更进一步,我通常更喜欢低级编程。

我已经在这里阅读了问题和答案,他们建议使用 NDK,现在我已经查看了 NDK,它仍然介绍了 java 的膨胀。基本上,如果我理解正确,我要做的就是编写一些简短的 Java 代码来调用我的 native 代码。这个 java 的问题仍然在后台运行,因此消耗了宝贵的内存,而手机没有,java 仍然需要启动,甚至在我的电脑上,java 需要一点时间才能启动,而且考虑到我正在为我确定 CPU 速度要慢得多的手机需要更长的时间。我发现 java 和低内存占用是矛盾的,并且不希望 java 在后台空转使用 ram。我希望这个程序被官方应用程序商店接受,我相信它被称为“google play”。考虑到我正在为这样一个资源有限的设备编程,我很惊讶 java 是推荐的方式。

最佳答案

首先,我相信你是过于担心java的性能了。你无法避免“java 在后台运行”,因为无论如何,大多数 Android 都是用 Java 实现的。而智能手机的资源并没有那么有限。

现在如果实在受不了java,可以用一个NativeActivity: http://developer.android.com/reference/android/app/NativeActivity.html 并使用 OpenGL 制作您的游戏。

另请参阅该问题: 100% Native C Application on Android?

关于android - 没有任何java的原生android开发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27091392/

相关文章:

android - 使用 screenSlider 和 Fragment 自动调整 TextView

c++ - 调整 QGraphicsItem 的大小以占用 QGraphicsView 中的所有空间,调整窗口大小时出现问题

c - malloc 是确定性的吗?

溢出时的 C++ 数组绑定(bind)异常 - "cout"并且没有 "cout"

c - rand() 的实现

在 OS X 上的 tmp 文件夹中创建临时文件夹

android - 无法使用图形 View 库

android - 启动应用程序时如何启动多个 fragment

android - 如何在 Android Studio 编写的项目中使用自定义字体

c++ - 声明 Windows API 结构 (DCB) 的对象 - 错误 C4430 : missing type specifier - int assumed