我將位圖的顏色數組傳遞給JNI層,並且當我嘗試調用getIntArrayResion方法時,遇到「位圖大小超出VM預算」錯誤。劑量誰有一個想法如何處理這個問題?當調用getXXArrayRegion()時,JNI位圖大小超過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開發教程。