我目前正在使用 libgdx 开发一款安卓游戏。当游戏关闭时,我需要在 onPause() 方法中通过网络将数据保存到服务器。executorService 然后提交一个任务来发送数据。但是之后,这个任务就永远不会执行了。有没有遇到过这种情况的,请帮我理解一下,谢谢。
问问题
320 次
1 回答
1
我认为您遇到了纯 Android 问题(与 Libgdx 无关)。标准 JavaExecutorService
创建一个后台线程,因此您的onPause
方法将立即返回。此时系统认为您的应用程序已完成暂停,并且可能随时终止。看:
- http://developer.android.com/training/basics/activity-lifecycle/pausing.html
- 离开 Activity 时 Android 如何处理后台线程?
通过网络保存数据的正确方法是在您的应用程序中使用(Android)“服务”,以便系统知道您正在进行后台工作。请参阅如何使用 android HttpRequest 在 Android onPause 中保存状态
于 2013-05-27T14:44:49.430 回答