zoukankan      html  css  js  c++  java
  • 按Home键切换到后台后会触发libGPUSupportMercury.dylib: gpus_ReturnNotPermittedKillClient导致crash

    转自:http://www.eoeandroid.com/thread-251598-1-1.html

    好像有很多朋友都碰到过这个问题,即在真机调试时,按hone键返回桌面,再回到app时,app会crash或僵死。同时xcode停留在:
    libGPUSupportMercury.dylib`gpus_ReturnNotPermittedKillClient:
    0x372fa094: trap
    0x372fa096: nop

    原因在于AppDelegate.cpp里

    void AppDelegate::applicationDidEnterBackground()
    {
        CCDirector::sharedDirector()->pause();
    }
    
    void AppDelegate::applicationWillEnterForeground()
    {
        CCDirector::sharedDirector()->resume();
    }

    director在app切换至后台时若被pause,它其实并没有真正暂停,而是仍保持着每秒4帧的绘制速率。但在app处于后台时,ios是不允许app调opengl的。这个原因引发了上述问题。

    解决方法是:

    void AppDelegate::applicationDidEnterBackground()
    {
        CCDirector::sharedDirector()->stopAnimation(); 
    }
    
    void AppDelegate::applicationWillEnterForeground()
    {
        CCDirector::sharedDirector()->startAnimation();
    }

    stopAnimation()才让director真正暂停下来。

    另:播放视频时按home键crash问题:
    http://blog.k-res.net/archives/1193.html
  • 相关阅读:
    hdu 5961 传递(暴力搜索)
    hdu 3577 Fast Arrangement(线段树区间修改,求区间最小值)
    hdu 5898 odd-even number(数位dp)
    Python-编码
    Golang-教程
    Python-待
    Python_每日习题_0006_斐波那契数列
    计算机网络
    Python_老男孩练习题1
    Python_内置函数2_44
  • 原文地址:https://www.cnblogs.com/Clin/p/3405173.html
Copyright © 2011-2022 走看看