ビットマップのカラー配列を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開発チュートリアルに従ってそれを行いました。