Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/194.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android SDL2、gpg::GameServices和多窗口_Android_C++_Google Play Services_Sdl 2 - Fatal编程技术网

Android SDL2、gpg::GameServices和多窗口

Android SDL2、gpg::GameServices和多窗口,android,c++,google-play-services,sdl-2,Android,C++,Google Play Services,Sdl 2,我正在一个基于SDL2的本地应用程序中使用Google Play Game服务的。本机部分是在运行时加载的.so文件 只要我以标准的方式使用应用程序,一切都可以正常工作。另一方面,在使用多窗口时,我遇到了使用gpg::GameServices的问题。 当应用程序切换到多窗口模式时,本机部件将退出main功能,并通过设计重新进入该功能。我不知道main函数是否因为用户终止应用程序或切换到多窗口模式而被放弃,因此在函数结束时,我按照文档中的建议重置指向gpg::GameServices对象的指针。然

我正在一个基于SDL2的本地应用程序中使用Google Play Game服务的。本机部分是在运行时加载的.so文件

只要我以标准的方式使用应用程序,一切都可以正常工作。另一方面,在使用多窗口时,我遇到了使用
gpg::GameServices
的问题。
当应用程序切换到多窗口模式时,本机部件将退出
main
功能,并通过设计重新进入该功能。我不知道
main
函数是否因为用户终止应用程序或切换到多窗口模式而被放弃,因此在函数结束时,我按照文档中的建议重置指向
gpg::GameServices
对象的指针。然后在同一函数的开头重新初始化

但是,看起来好像出了问题,应用程序只是暂停了一段时间,并显示以下消息:

V/GamesNativeSDK:GameServices清理耗时超过15秒或返回错误。在GameServiceSiml可能仍处于活动状态时销毁对象

20秒后,应用程序按预期再次启动,但这种冻结非常烦人,我无法理解原因。
作为旁注,调用
Flush
FlusBlocking
并不能解决问题,原因很明显(我这样做只是为了检查情况是否属实)

即使应用程序未正确关闭,终止gpg::GameServices是否存在任何问题?我的意思是,当活动被销毁,但.so没有被丢弃时,会创建一个新的活动,然后立即调用
main
函数?

调用
main()
是未定义的行为,我真的不明白您想做什么。你能链接到这个案例的文档吗?