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
  • 相关阅读:
    JS中的this指向问题
    Jinja2用法总结
    Kafka 生产者 拦截器
    Kafka 生产者 工作流程和Demo示例
    Kafka 验证集群部署和吞吐量测试
    Kafka 线上环境部署需要考虑的因素
    Kafka单点环境安装
    Kafka和Confluent的关系
    Kafka 概要设计
    ActiveMQ 介绍安装使用入门
  • 原文地址:https://www.cnblogs.com/Clin/p/3405173.html
Copyright © 2011-2022 走看看