Создание объектов JNI и управление памятью

У меня есть следующий метод JNI, который создает коллекцию объектов Java изначально, а затем возвращает их в Java:

JNIEXPORT jobject JNICALL Java_com_test_myClass_myMethod(JNIEnv * env, jclass klass) {
    jclass arrayClass = env->FindClass("java/util/ArrayList");
    jmethodID initMethod = env->GetMethodID(arrayClass, "<init>", "()V");
    jmethodID addMethod = env->GetMethodID(arrayClass, "add", "(Ljava/lang/Object;)Z");
    jobject myArray = env->NewObject(arrayClass, initMethod);

    env->CallBooleanMethod(myArray, addMethod, env->NewStringUTF("Hello"));
    env->CallBooleanMethod(myArray, addMethod, env->NewStringUTF("World"));

    return myArray;
}

Нужно ли освобождать объекты, созданные в собственном коде, или GC делает это автоматически? Если я это сделаю, как мне это сделать, поскольку мне нужно вернуть его на Java?

Ответы на вопрос(1)

Ваш ответ на вопрос