Skip to content

Commit 28f4e14

Browse files
author
Mihail Slavchev
committed
reuse JEnv instances
1 parent 29a0f6d commit 28f4e14

3 files changed

Lines changed: 6 additions & 9 deletions

File tree

src/jni/JsArgConverter.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -538,13 +538,11 @@ JsArgConverter::~JsArgConverter()
538538
{
539539
if (m_argsLen > 0)
540540
{
541-
JEnv env;
542-
543541
int length = m_storedObjects.size();
544542
for (int i = 0; i < length; i++)
545543
{
546544
int index = m_storedObjects[i];
547-
env.DeleteLocalRef(m_args[index].l);
545+
m_env.DeleteLocalRef(m_args[index].l);
548546
}
549547
}
550548
}

src/jni/ObjectManager.cpp

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -137,10 +137,8 @@ jweak ObjectManager::GetJavaObjectByID(uint32_t javaObjectID)
137137
return obj;
138138
}
139139

140-
jobject ObjectManager::GetJavaObjectByIDImpl(uint32_t javaObjectID)
140+
jobject ObjectManager::GetJavaObjectByIDImpl(JEnv& env, uint32_t javaObjectID)
141141
{
142-
JEnv env;
143-
144142
jobject object = env.CallStaticObjectMethod(PlatformClass, GET_JAVAOBJECT_BY_ID_METHOD_ID, javaObjectID);
145143
return object;
146144
}
@@ -788,9 +786,10 @@ jweak ObjectManager::NewWeakGlobalRefCallback(const int& javaObjectID, void *sta
788786
{
789787
ObjectManager *objManager = reinterpret_cast<ObjectManager*>(state);
790788

791-
JniLocalRef obj(objManager->GetJavaObjectByIDImpl(javaObjectID));
792-
793789
JEnv env;
790+
791+
JniLocalRef obj(objManager->GetJavaObjectByIDImpl(env, javaObjectID));
792+
794793
jweak weakRef = env.NewWeakGlobalRef(obj);
795794

796795
return weakRef;

src/jni/ObjectManager.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ namespace tns
159159

160160
jweak GetJavaObjectByID(uint32_t javaObjectID);
161161

162-
jobject GetJavaObjectByIDImpl(uint32_t javaObjectID);
162+
jobject GetJavaObjectByIDImpl(JEnv& env, uint32_t javaObjectID);
163163

164164
static jweak NewWeakGlobalRefCallback(const int& javaObjectID, void *state);
165165

0 commit comments

Comments
 (0)