强制JNI获取<type> ArrayElements以返回指针

时间:2015-08-23 06:25:28

标签: java java-native-interface

在JNI方法中Get(Type)ArrayElements javadoc,它是写的

  

返回的数组可能是Java数组的副本”。

因此,此方法返回Java数组的指针或副本。我在我的代码中做了一个简单的测试,实际上,这个方法返回一个副本。 除了我希望使用本机方法来加速巨大的图像处理,因此处理BIG阵列。但是如果使用本机代码意味着复制我的阵列,性能将深深地受到影响,而我可能缺乏RAM。

所以我的问题是:有没有办法强制此方法返回指针而不是副本? 谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

不,你不能强制非复制。您可以使用相应的版本代替GetPrimitiveArrayCritical() 鼓励就地行为。请仔细阅读文档,因为除了通常的JNI限制之外,使用此功能会对您可以执行的操作施加很大的限制。