jstring Java_com_example_hellojni_HelloJni_buildString(JNIEnv *env, jobject sThis){
for (int i=0; i < 100000; i++){
char* c=(char*)env->NewStringUTF("xx");
}
return env->NewStringUTF("test");
}
12-04 14:46:36.399:DEBUG/dalvikvm(8086):試圖加載LIB /data/data/com.example.hellojni/lib/ libhello-jni.so 0x405143d8 12-04 14:46:36.399:DEBUG/dalvikvm(8086):已添加共享庫 /data/data/com.example.hellojni/lib/libhello-jni.so 0x405143d8 12-04 14:46:36.431:WARN/dalvikvm(8086):引用表溢出(最大= 1024) 12-04 14:46:36.431:WARN/dalvikvm(8086):JNI本地最後10個條目 參考表:12-04 14:46:36.431:WARN/dalvikvm(8086):1014: 0x4052b258 cls = Ljava/lang/String; (28字節)12-04 14:46:36.431: WARN/dalvikvm(8086):1015:0x4052b298 cls = Ljava/lang/String; (28 字節)12-04 14:46:36.431:WARN/dalvikvm(8086):1016:0x4052b2d8 cls = Ljava/lang/String; (28字節)12-04 14:46:36.431: WARN/dalvikvm(8086):1017:0x4052b318 cls = Ljava/lang/String; (28 字節)12-04 14:46:36.431:WARN/dalvikvm(8086):1018:0x4052b358 cls = Ljava/lang/String; (28字節)12-04 14:46:36.431: WARN/dalvikvm(8086):1019:0x4052b398 cls = Ljava/lang/String; (28 字節)12-04 14:46:36.431:WARN/dalvikvm(8086):1020:0x4052b3d8 cls = Ljava/lang/String; (28字節)12-04 14:46:36.431: WARN/dalvikvm(8086):1021:0x4052b418 cls = Ljava/lang/String; (28 bytes)12-04 14:46:36.431:WARN/dalvikvm(8086):1022:0x4052b458 cls = Ljava/lang/String; (28字節)12-04 14:46:36.431: WARN/dalvikvm(8086):1023:0x4052b498 cls = Ljava/lang/String; (80 bytes)12-04 14:46:36.431:WARN/dalvikvm(8086) Ljava/lang/Class; 236B 12-04 14:46:36.431:WARN/dalvikvm(8086):
1/Ljava/lang/Class; 284B 12-04 14:46:36.431:WARN/dalvikvm(8086):
1/Ljava/lang/Class; 572B 12-04 14:46:36.431:WARN/dalvikvm(8086): Ljava/lang/String; 28B(1020 unique)12-04 14:46:36.431: WARN/dalvikvm(8086):1 of [Ljava/lang/String; 28B 12-04 14:46:36.431:WARN/dalvikvm(8086):通過跟蹤直接保存的內存 refs是29680字節12-04 14:46:36.431:錯誤/ dalvikvm(8086):失敗 添加到JNI本地參考表(具有1024個條目)12-04 14:46:36.431: INFO/dalvikvm(8086):「main」prio = 5 tid = 1 RUNNABLE 12-04 14:46:36.431: INFO/:| group =「main」sCount = 0 dsCount = 0 obj = 0x4001f1b8 self = 0xcee8 12-04 14:46:36.431:INFO/dalvikvm(8086):
| sysTid = 8086 nice = 0 sched = 0/0 cgrp = default handle = -1345006496 12-04 14:46:36.431:INFO/dalvikvm(8086):at com.example.hellojni.HelloJni.buildString(Native Method) 12-04 14:46:36.431:INFO/dalvikvm(8086):在 com.example.hellojni.HelloJni.onCreate(HelloJni.java:93)Andrjoid JNI簡單用於下一返回一個錯誤
怪異。如果我的下一個看起來是這樣的:
for (int i=0; i < 100; i++){
然後evrething ok。
我該如何重寫這段代碼才能運行下一個大數字?
那個循環的目的究竟是什麼? – Mat
對不起,但我不明白你的問題。代碼太多,文字太少。請準確描述你想要達到的目標以及你的問題。 – Robert
我喜歡在C中運行下一個週期的大型運行,這從JNI/Java – lacas