バックグラウンドに入ると、cocos2d-xゲームがクラッシュします。AppDelegateのコードは次のとおりです。
// 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)