java强制JNI获取<type>数组元素以返回指针
在JNI方法Get(Type)ArrayElementsjavadoc中,它被写入
"the returned array may be a copy of the Java array".
因此,该方法返回Java数组的指针或副本。我在代码中做了一个简单的测试,实际上,这个方法返回了一个副本。 除了我希望使用本机方法来加速巨大图像的处理,从而处理大数组。但是,如果使用本机代码意味着复制我的数组,那么性能将受到严重影响,我可能会缺少RAM
所以我的问题是:有没有办法强迫这个方法返回指针而不是副本? 谢谢你的帮助
# 1 楼答案
不,不能强制非复制。您可以通过在相应的版本中使用
GetPrimitiveArrayCritical()
来鼓励就地行为。请仔细阅读文档,因为除了通常的JNI限制外,这个函数的使用对您的操作也有很大的限制