jclass stringArrCls=env->FindClass("[Ljava/lang/String;");
jobjectArray allpolygonfields = env->NewObjectArray(8000, stringArrCls, NULL);
jobjectArray alllinefields = env->NewObjectArray(8000, stringArrCls, NULL);
由于不定大小 所以起先要声明很大 。这种情况下有没有办法转成全局变量或者其他?
jobjectArray allpolygonfields = env->NewObjectArray(8000, stringArrCls, NULL);
jobjectArray alllinefields = env->NewObjectArray(8000, stringArrCls, NULL);
由于不定大小 所以起先要声明很大 。这种情况下有没有办法转成全局变量或者其他?
DeleteLocalRef
jobjectArray outarray =
(*env)->NewObjectArray(env, count, class_info, NULL);
//输出数据
for (i = 0; i < count; i++) {
jobject obj_info = (*env)->NewObject(env, class_info, construct_method);
jstring info_name = (*env)->NewStringUTF(env, tempInfo[i].name);
jstring info_no = (*env)->NewStringUTF(env, tempInfo[i].no);
jstring info_html = (*env)->NewStringUTF(env,
tempInfo[i].b ? tempInfo[i].html : tempInfo[i].html_);
(*env)->SetIntField(env, obj_info, fid_id, tempInfo[i].cid);
(*env)->SetObjectField(env, obj_info, fid_name, info_name);
(*env)->SetObjectField(env, obj_info, fid_no, info_no);
(*env)->SetObjectField(env, obj_info,
tempInfo[i].b ? fid_html : fid_html_, info_html);
(*env)->SetIntField(env, obj_info, fid_cid, tempInfo[i].id);
(*env)->SetIntField(env, obj_info, fid_weight, tempInfo[i].weight);
(*env)->SetObjectArrayElement(env, outarray, i, obj_info);
//手动销毁全部临时变量
(*env)->DeleteLocalRef(env, obj_info);
(*env)->DeleteLocalRef(env, info_name);
(*env)->DeleteLocalRef(env, info_no);
(*env)->DeleteLocalRef(env, info_html);
}
(*env)->DeleteLocalRef(env, class_info);
(*env)->DeleteLocalRef(env, outarray);
这是我一个项目中的部分源码,给你参考!
10-09 09:42:07.413: INFO/DEBUG(1137): signal 11 (SIGSEGV), fault addr 0000000c
这样子的错误 ?