本文整理汇总了C++中JNIContext::deleteGlobalRef方法的典型用法代码示例。如果您正苦于以下问题:C++ JNIContext::deleteGlobalRef方法的具体用法?C++ JNIContext::deleteGlobalRef怎么用?C++ JNIContext::deleteGlobalRef使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类JNIContext
的用法示例。
在下文中一共展示了JNIContext::deleteGlobalRef方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
CXXContext::~CXXContext()
{
JNIContext *jniContext = JNIContext::sharedInstance();
ectx_method_createProxiedCallback = 0;
if (ectx_class != 0)
{
jniContext->deleteGlobalRef(ectx_class);
ectx_class = 0;
}
if (ectx_object != 0)
{
jniContext->deleteGlobalRef(ectx_object);
ectx_object = 0;
}
if (actx_object != 0)
{
jniContext->deleteGlobalRef(actx_object);
actx_object = 0;
}
sm_sharedInstance = 0;
}
示例2: deregisterProxyComponent
void CXXContext::deregisterProxyComponent(long contextAddress)
{
LOGV("deregisterProxyComponent contextAddress %ld", contextAddress);
JNIContext *jniContext = JNIContext::sharedInstance();
pthread_mutex_lock(&proxyComponentMapMutex);
proxyComponentMap[contextAddress] = 0;
std::map<long,jobject>::const_iterator iter;
for (iter = proxyComponentMap.begin(); iter != proxyComponentMap.end(); iter++)
{
if ((*iter).first == contextAddress)
{
jobject externalObject = (jobject) (*iter).second;
LOGV("deregisterProxyComponent erasing contextAddress %ld", contextAddress);
proxyComponentMap.erase(contextAddress);
proxyComponentRefCountMap[externalObject]--;
if (proxyComponentRefCountMap[externalObject] <= 0)
{
proxyComponentRefCountMap.erase(externalObject);
jniContext->deleteGlobalRef(externalObject);
}
break;
}
}
pthread_mutex_unlock(&proxyComponentMapMutex);
}
示例3: setAndroidContext
void CXXContext::setAndroidContext(jobject applicationContext)
{
LOGV("setApplicationContext applicationContext %ld", (long) applicationContext);
JNIContext *jniContext = JNIContext::sharedInstance();
jniContext->deleteGlobalRef(actx_object);
actx_object = jniContext->localToGlobalRef(applicationContext);
LOGV("updated actx_object %ld", (long) actx_object);
}
示例4: deleteProxyComponent
bool CXXContext::deleteProxyComponent(jobject externalObject)
{
LOGV("deleteProxyComponent externalObject %ld", (long) externalObject);
JNIContext *jni = JNIContext::sharedInstance();
bool success = false;
jni->pushLocalFrame();
if (jni->newLocalRef(externalObject) != 0)
{
jobject globalRef = jni->newGlobalRef(externalObject);
jni->deleteGlobalRef(globalRef);
success = true;
}
jni->popLocalFrame();
return success;
}