當進入後臺時,我的cocos2d-x遊戲崩潰。這裏是從AppDelegate中的一些代碼:當進入後臺時,cocos2d-x遊戲崩潰
// This function will be called when the app is inactive. When comes a phone call,it's be invoked too
void AppDelegate::applicationDidEnterBackground()
{
CCDirector::sharedDirector()->pause();
CCUserDefault::sharedUserDefault()->flush();
CocosDenshion::SimpleAudioEngine::sharedEngine()->pauseBackgroundMusic();
}
// this function will be called when the app is active again
void AppDelegate::applicationWillEnterForeground()
{
CCDirector::sharedDirector()->resume();
CocosDenshion::SimpleAudioEngine::sharedEngine()->resumeBackgroundMusic();
}
和錯誤消息:
libGPUSupportMercury.dylib`gpus_ReturnNotPermittedKillClient:
0x3797e094: trap
0x3797e096: nop
注意,它總是崩潰的iPhone,但是Android上99%的崩潰(好吧,當比賽還沒有裝載大圖像等)
編輯: 我試過CCDirector :: sharedDirector() - > stopAnimation(),它適用於iOS。但仍然崩潰的Android(不是馬上回到應用程序,屏幕變黑(但我認爲它仍然運行,因爲背景音樂仍在播放,然後約5秒後它崩潰)
編輯2: Eclipse中的錯誤信息:
libEGL call to OpenGL ES API with no current context (logged once per thread) (red warning text)
libc Fatal signal 11 (SIGSEGV) at 0x5f012000 (code=2) (black text)
我叫ccdirector :: sharedDirector() - > stopAnimation()和現在的工作 – OMGPOP
對不起,崩潰了Android現在。 IOS是好的 – OMGPOP
@OMGPOP我建議你提出兩個不同的問題,因爲崩潰的原因肯定會有所不同。我的猜測會是在Android中有另一個回調,你必須停止更新GPU,但你沒有得到回調。 –