It seems it stops after about calling NewStringUTF 500 times
I changed TestData2 functions
The last line in testout3.txt is "503 ok"
extern "C" jboolean
Java_com_example_hellojni_jniinterface_JniInterface_TestGetLines2(JNIEnv* env,
jobject thiz,
jstring jstr,
jobject jobjLineList)
{
jsize len = 3000;
jclass cls = env->GetObjectClass(jobjLineList);
{
FILE *fp = fopen("/sdcard/testout3.txt", "w");
jfieldID fid = env->GetFieldID(cls, "mLineList", "[Ljava/lang/String;");
jclass objClass = env->FindClass("java/lang/String");
jobjectArray arr = env->NewObjectArray(len, objClass, 0);
jstring *sarr = new jstring[len];
for (jint i = 0; i < len; ++i)
{
sarr[i] = env->NewStringUTF("MMSSTTTTTTSSSSSSMM");
fprintf(fp, "%d ok\n", i);
}
fprintf(fp, "Create Success\n");
for (jint i = 0; i < len; ++i)
env->SetObjectArrayElement(arr, i, sarr[i]);
fprintf(fp, "Set data success\n");
env->SetObjectField(jobjLineList, fid, arr);
delete[] sarr;
fclose(fp);
}
return JNI_TRUE;
}