Android:正确使用ndk换新手?

时间:2016-07-04 09:56:37

标签: java android c++ bitmap android-ndk

  1. 根据this,有许多传感器类型可通过NDK获得,但不是GPS?我是对的,GPS只能通过JNI访问吗?

  2. 是否可以使用活动的Java Activity在后台处理传感器事件? 我想用本机代码处理加速度计和陀螺仪事件,每秒两次在窗口中显示它(java活动)。 但是如果我有NativeActivity来处理传感器事件,它应该在前台,所以如果我使用java活动来显示结果,我不能在不停止处理的情况下显示处理结果吗?

  3. 如何处理位图?我有本地库用地图创建位图, 然后我想在这个位图上绘制很多对象,并且需要很多调用 地理坐标< - >屏幕坐标。起初我想实施 这在本机端并且仅使用Java在Activity中绘制位图, 但看起来像NDK没有2D绘图的东西,只是从java获取位图, 并把它放回java。

1 个答案:

答案 0 :(得分:1)

  1. NDK可以访问与Java框架相同的传感器集。是的,没有GPS,而且它不是常识中的传感器。

  2. 传感器事件处理不依赖于Activity生命周期,因此您只需创建专用ASensorEventQueue并通过ALooper_callbackFunc获取结果。

  3. NDK只能测试Bitmap的大小,像素格式以及访问可以自由修改的像素缓冲区。 (最后一个仅用于可变位图)。没有2D绘图API。您应该将第三方软件用于此目的。顺便说一句,你可以尝试OpenGL绘图。它不需要Bitmap,只需ANativeWindow