java - 科学和数值模拟在android中有哪些方式? NDK?

标签 java c++ android math

我想为 android 编写一个科学/数字环境,我正在收集信息,因为我从未为 android 或移动开发过任何东西。

我最近听说了原生开发工具包,它应该允许我为我的 android 应用程序编写 C++ 代码,但我有一些问题:

  • 它会带来可移植性问题吗?由于编译和编码机器 hell
  • 基本的 java 数学函数和对象是否良好(至少在 android 中),或者我应该尝试自定义实现常用函数?
  • 用 java 编写所有内容?如果与 ndk 相比,它会给我带来很多性能损失吗?

最佳答案

来自 the website :

If you write native code, your applications are still packaged into an .apk file and they still run inside of a virtual machine on the device. The fundamental Android application model does not change.

Using native code does not result in an automatic performance increase, but always increases application complexity.

好消息是,没有可移植性问题!坏消息是,它与为处理器编译 C++ 代码不同,因此它可能无法为您提供所需的性能提升。此外,它肯定会使您作为开发人员的任务更加艰巨。

重申您在评论中收到的建议:首先使用纯 Java 获取功能,然后再考虑优化

关于数学对象“有多好”,java.lang.Math 中的函数和 double 一样好。 似乎任意精度的小数和整数类不在 android 库中,因此如果需要,您必须自己编写这些类。这同样适用于任何更高级别的对象( vector (实际上可以使用 ArrayList)、矩阵、图形)如果您需要,Java 确实有一个 Set

关于java - 科学和数值模拟在android中有哪些方式? NDK?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6312282/

相关文章:

java - FileWriter 在文件末尾写入额外的空值

java - 使用 GET 调用带有数组参数的 JAX-WS Web 服务

c++ - C++ 类中的类

c++ - 多线程解决查询

android - 在另一个 Activity 中使用在一个 Activity 中获取的数据

java - 字符串数组声明的差异。 String[] foo 或 String foo[]

Android NDK 传感器奇怪报告间隔到事件队列

java - list 文件中的多个 Google api key (Android)

c++ - 用于桌面应用程序的 gtkmm

java - 只绘制一次图像,无需重新绘制