当前位置: 首页>>代码示例>>C++>>正文


C++ wyAAL::deinit方法代码示例

本文整理汇总了C++中wyAAL::deinit方法的典型用法代码示例。如果您正苦于以下问题:C++ wyAAL::deinit方法的具体用法?C++ wyAAL::deinit怎么用?C++ wyAAL::deinit使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在wyAAL的用法示例。


在下文中一共展示了wyAAL::deinit方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: commonDestroy

wyDirector_android::~wyDirector_android() {
    // if background running is enabled
    if(m_allowBackgroundRunning) {
        pthread_mutex_lock(&gCondMutex);
        if(m_backgroundRunning) {
            if(pthread_cond_init(&sBackgroundLooperCond, NULL) == 0) {
                m_backgroundRunning = false;
                pthread_cond_wait(&sBackgroundLooperCond, &gCondMutex);
                pthread_cond_destroy(&sBackgroundLooperCond);
            }
        }
        pthread_mutex_unlock(&gCondMutex);
    }

    // call gl view
    JNIEnv* env = wyUtils::getJNIEnv();
    if(env != NULL) {
        if(m_glView != NULL) {
            if(!m_paused)
                env->CallVoidMethod(m_glView, g_mid_WYGLSurfaceView_onPause);
            env->DeleteGlobalRef(m_glView);
            m_glView = NULL;
        }
    }

    // if resource decoder is set, check whether it is wyJavaResourceDecoder
    if(gResDecoder) {
        wyJavaResourceDecoder* jrd = dynamic_cast<wyJavaResourceDecoder*>(gResDecoder);
        if(jrd)
            delete jrd;
    }

    // common destroy
    commonDestroy();

    // release listener
    wyArrayEach(m_jLifecycleListeners, j_releaseListener, NULL);
    wyArrayDestroy(m_jLifecycleListeners);

    // deinit aal
    if(gAAL.deinit)
        gAAL.deinit();

    // delete context ref
    if(env != NULL) {
        if(m_context != NULL) {
            env->DeleteGlobalRef(m_context);
            m_context = NULL;
        }
    }

    // global deinit
    globalDeInit(env);

    // unload sal lib
    if(sAALHandler != NULL) {
        /*
         * 不要close这个东西, 可能是因为android底层有什么bug, 导致重复载入卸载45
         * 次之后就会出现问题. 而android上的dlopen又不支持RTLD_NODELETE这个flag,
         * 所以只能不close它, 就没事了
         */
//		dlclose(sAALHandler);
        sAALHandler = NULL;
    }

    // nullify gVM
    gVM = NULL;

    // free my self
    gDirector = NULL;
}
开发者ID:nbolabs,项目名称:WiEngine,代码行数:71,代码来源:wyDirector_android.cpp


注:本文中的wyAAL::deinit方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。