我将位图的颜色数组传递给 JNI 层,当我尝试调用 getIntArrayResion 方法时,遇到“位图大小超出 VM 预算”错误。有人知道如何处理这个问题吗?
JNIEXPORT jint JNICALL Java_com_example_happy_MainActivity_Parsing( JNIEnv* env,
jintArray bmapColorArray)
{
int length = env->GetArrayLength(bmapColorArray);
int * buffer;
buffer = new int[length];
env->GetIntArrayRegion(bmapColorArray,0,length, buffer);
return 0;
}
顺便说一句,我可以直接使用 bmapColorArray 而不是将它们复制到缓冲区。我不知道我为什么要复制它,它真的很费时间和空间。我只是按照 Android 开发教程做的。