У меня есть следующая встроенная подпрограмма:
void sendMessage(const char* text)
{
JNIEnv* env;
if(!_jvm)
return;
_jvm->AttachCurrentThread(&env, NULL);
if(!_nativesCls)
_nativesCls = env->FindClass("com/foo/BaseLib");
if(_nativesCls == 0)
return;
jstring message = env->NewStringUTF(text);
if(!_sendStr)
_sendStr = env->GetStaticMethodID(_nativesCls, "onMessage", "(Ljava/lang/String;)V");
if(_sendStr)
env->CallStaticVoidMethod(_nativesCls, _sendStr, message);
//env->ReleaseStringUTFChars(message, text); // <----- * NOT WORKING
}
Если я запустил все как есть, он будет работать до тех пор, пока не заполнится память и не получит:
Переполнение ReferenceTable (max = 512)
Я думал, что добавление закомментированной строки выше решит проблему, но это просто заставит приложение взорваться в этот момент.
Есть предложения?