MCPcopy Create free account
hub / github.com/NativeScript/android / ObjectManager

Method ObjectManager

test-app/runtime/src/main/cpp/ObjectManager.cpp:21–46  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

19using namespace tns;
20
21ObjectManager::ObjectManager(jobject javaRuntimeObject)
22 : m_javaRuntimeObject(javaRuntimeObject),
23 m_numberOfGC(0),
24 m_currentObjectId(0),
25 m_cache(NewWeakGlobalRefCallback, DeleteWeakGlobalRefCallback,
26 ValidateWeakGlobalRefCallback, 1000, this) {
27 JEnv env;
28 InitializeJNI();
29
30 auto runtimeClass = env.FindClass("com/tns/Runtime");
31 assert(runtimeClass != nullptr);
32
33 auto useGlobalRefsMethodID =
34 env.GetStaticMethodID(runtimeClass, "useGlobalRefs", "()Z");
35 assert(useGlobalRefsMethodID != nullptr);
36
37 auto useGlobalRefs =
38 env.CallStaticBooleanMethod(runtimeClass, useGlobalRefsMethodID);
39 m_useGlobalRefs = useGlobalRefs == JNI_TRUE;
40
41 auto getMarkingModeOrdinalMethodID =
42 env.GetMethodID(runtimeClass, "getMarkingModeOrdinal", "()I");
43 jint markingMode =
44 env.CallIntMethod(m_javaRuntimeObject, getMarkingModeOrdinalMethodID);
45 m_markingMode = static_cast<JavaScriptMarkingMode>(markingMode);
46}
47
48void ObjectManager::InitializeJNI() {
49 if (GET_JAVAOBJECT_BY_ID_METHOD_ID != nullptr) {

Callers

nothing calls this directly

Calls 5

GetStaticMethodIDMethod · 0.80
GetMethodIDMethod · 0.80
CallIntMethodMethod · 0.80
FindClassMethod · 0.45

Tested by

no test coverage detected