0
我製作了一個簡單的本機庫,可以存儲整數並將其返回。多次加載本機庫
#include <string.h>
#include <jni.h>
static int a;
void Java_com_example_testnativelibs_TestClass_setA(JNIEnv* env, jobject javaThis, jint val){
a = val;
}
jint Java_com_example_testnativelibs_TestClass_getA(JNIEnv* env, jobject javaThis) {
return a;
}
這是識別TestClass代碼:
public class TestClass {
public TestClass() {
System.loadLibrary("ndkfoo2");
}
public native void setA(int val);
public native int getA();
}
然後我的MainActivity的代碼:
TestClass a = new TestClass();
TestClass b = new TestClass();
a.setA(5);
b.setA(2);
Log.i("A VALUE",""+a.getA());
Log.i("B VALUE",""+b.getA());
示出日誌中的兩倍的值2,則這意味着庫僅加載一次,並且由同一類的所有實例「共享」。是否可以多次加載,每個類實例一個?
我補充說,說說這幾個鏈接,太。 –