Android JNI ArrayList how to use
来源:互联网 发布:nginx 安装目录 编辑:程序博客网 时间:2024/06/05 09:42
jint result_size;
jfieldID fid;
jobject jobj;
jclass cls;
jmethodID mArrayList_size;
jmethodID mArrayList_get;
jmethodID mString;
cls = (*env)->GetObjectClass (env, urllist);
mArrayList_size = (*env)->GetMethodID (env, cls, "size", "()I");
mArrayList_get = (*env)->GetMethodID (env, cls, "get", "(I)Ljava/lang/Object;");
result_size = (*env)->CallIntMethod(env,urllist,mArrayList_size);
int i ;
str = (char**)malloc (sizeof(char*)*result_size);
for (i = 0 ; i < result_size ; i++) {
jstring jstr;
jstr = (*env)->CallObjectMethod(env,urllist,mArrayList_get,i);
if (NULL != jstr) {
*(str+i) = (*env)->GetStringUTFChars (env, jstr, NULL);
}
}
// use str
//..........
//release jstr
for (i = 0 ; i < result_size ; i++){
jstring jstr;
jstr = (*env)->CallObjectMethod(env,urllist,mArrayList_get,i);
(*env)->ReleaseStringUTFChars (env, jstr, *(str+i));
}
free(str);
对于如何释放jsting,觉得这样效率不高,还没有找到好的办法。
经过测试,result_size 过大(max 512),VM会溢出。
- Android JNI ArrayList how to use
- How to use ArrayList in Java
- How to use ArrayList in Java
- Just learn how to use the JNI
- What is JNI Graphics and how to use it?
- NDK/JNI Develop Guide (4) How to use Array
- how to use linux nfs in android
- How to use Android HW Video Codec
- How to use addr2line in Android
- How to use GitHub with Android Studio
- How to use Fragment in Android
- How to Use Loaders in Android
- How to use tcpdump on Android
- How to Use OpenCV in Android Studio
- How to use GitHub with Android Studio
- How to use Android HW Video Codec
- How To Use Proguard in Android APP
- How to use unity CreateExternalTexture on Android?
- jBPM4常见概念
- cookie 和session 的区别详解
- 做人员定位及瓦斯监控
- 专业类杂志
- 40岁以后的程序员还能做什么?
- Android JNI ArrayList how to use
- 查看win7的版本号
- 11月14日
- 我的blog
- Prim算法。
- java中设置背景图片
- PDF 乱码解决办法
- Windows消息大全使用详解
- PostMessage和SendMessage、GetMessage和PeekMessage的区别