Android SDL2、gpg::GameServices和多窗口
我正在一个基于SDL2的本地应用程序中使用Google Play Game服务的。本机部分是在运行时加载的.so文件 只要我以标准的方式使用应用程序,一切都可以正常工作。另一方面,在使用多窗口时,我遇到了使用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对象的指针。然
gpg::GameServices
的问题。当应用程序切换到多窗口模式时,本机部件将退出
main
功能,并通过设计重新进入该功能。我不知道main
函数是否因为用户终止应用程序或切换到多窗口模式而被放弃,因此在函数结束时,我按照文档中的建议重置指向gpg::GameServices
对象的指针。然后在同一函数的开头重新初始化
但是,看起来好像出了问题,应用程序只是暂停了一段时间,并显示以下消息:
V/GamesNativeSDK:GameServices清理耗时超过15秒或返回错误。在GameServiceSiml可能仍处于活动状态时销毁对象
20秒后,应用程序按预期再次启动,但这种冻结非常烦人,我无法理解原因。作为旁注,调用
Flush
或FlusBlocking
并不能解决问题,原因很明显(我这样做只是为了检查情况是否属实)
即使应用程序未正确关闭,终止gpg::GameServices是否存在任何问题?我的意思是,当活动被销毁,但.so没有被丢弃时,会创建一个新的活动,然后立即调用main
函数?调用main()
是未定义的行为,我真的不明白您想做什么。你能链接到这个案例的文档吗?