0

こんにちは私のAndroid phonegapアプリでは、以下のリンクを使用してネイティブコードを呼び出しました。そのネイティブコードを使用すると、2つの数字が追加されました。このネイティブコードを使用すると、jniローカル参照を削除するにはどうすればよいですか?

リンクは次のとおりです。 http://marakana.com/forums/android/examples/49.html

logcat で次のエラーが表示されます。

JNI error local reference table overflow 512 entries
VM aborting

このエラーを解決するには、jni ローカル参照を削除する必要があります

4

1 に答える 1

0

ローカル参照を削除するには、行を追加する必要がありenv->DeleteLocalRef(jniRef)ます。たとえばjniRef、 は JNI で作成しているオブジェクトです。jstringあなたが共有したリンクのコードは、ローカル参照テーブルのオーバーフローを引き起こしません。オーバーフローは、大量のオブジェクト作成を (通常はループで) 行っている場合にのみ発生します。関数が終了するとすべてのローカル参照が自動的にクリアされるため、単一の関数呼び出しのコンテキストで発生する必要があります。さらにヘルプが必要な場合は、コードを投稿してください

于 2013-03-27T06:41:57.437 に答える