моя игра 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, но 99% падает на Android (хорошо, когда игра не загружать большой изображения и т. д.)
EDIT: Я пробовал CCDirector :: sharedDirector() -> stopAnimation(), и он отлично работает для iOS. Но все же происходит сбой для Android (не сразу.) При возврате в приложение экран становится черным (но я думаю, что он все еще работает, потому что фоновая музыка все еще воспроизводится, а затем примерно через 5 секунд он сбой)
EDIT 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
жаль, аварии для андроида Теперь. ios в порядке – OMGPOP
@OMGPOP Я предлагаю вам задать два отдельных вопроса, потому что причины сбоя будут разными. Я предполагаю, что есть еще один обратный вызов в Android, где вам нужно прекратить обновление графического процессора, но вы не получите обратный вызов. –