For Example :需要将NDK的数据传送到Java中显示。值得注意的是,NDK中用c的内存分配函数分配的内存空间,不能直接return给java中使用。
反正坚持一个原则:C分配的内存只能C来使用,java分配的内存只可以java使用。至于C和java之间的内存交换,NDK提供了额外的函数。
下面举例说明:一个java中分配int[],然后传递给C,C中将数组中所有的数翻倍,然后返回给java。
1、在Activity中定义数组及本地方法
![](https://img.haomeiwen.com/i1981272/61dbc0b8743658b4.png)
2、在.cpp文件中实现本地方法
![](https://img.haomeiwen.com/i1981272/c2b3901512959ce2.png)
3、在Activity中调用此方法
![](https://img.haomeiwen.com/i1981272/20f8c9da9f18b389.png)
网友评论