我从存储在字节数组中的相机中获取图像。我将这个字节数组传递给本地函数。将阵列投射到更小尺寸的阵列
问题:图像包含原生函数不关心的颜色信息。黑/白信息位于阵列的前半部分。
所以基本上我想要做的是什么:
byte[1000] image;
nativecall((byte[500])image);
这背后的原因是,对JNI函数的调用意味着我的图像的存储器复制。如果我只通过图像的相关部分,使用30 fps,我可以节省一些时间和内存。
任何解决方案的约束是两个数组必须指向相同的数组/内存。因此,简单地将数组的前半部分创建为更小的数组不是一种选择。
这样的事情可以用WeakReference来完成吗?
我已经很长时间没有使用JNI了,但是你不能简单地将数组和索引传递给数组中哪些有意义的信息开始吗?然后本机代码只能制作相关部分的副本。 – 2013-03-10 09:21:03