В настоящее время я работаю над игрой для Android, используя libgdx. Когда игра закрыта, мне нужно сохранить данные на сервер через сеть в методе onPause(). Затем служба-исполнитель отправляет задание на отправку данных. Но потом эта задача никогда не выполняется. Кто-нибудь испытал эту ситуацию, пожалуйста, помогите мне понять, спасибо.ExecutorService не выполняется после onPause()
1
A
ответ
1
Я думаю, что вы столкнулись с чистой проблемой Android (ничего общего с Libgdx). Стандартный Java ExecutorService
создает фоновый поток, поэтому ваш метод немедленно вернется. На данный момент система считает, что ваше приложение приостановлено и может быть прекращено в любое время. См:
- http://developer.android.com/training/basics/activity-lifecycle/pausing.html
- How does Android handle background threads when leaving an Activity?
Правильный путь для сохранения данных по сети использовать (Android) «Сервис» в вашем приложении, так что система знает, что вы имеете on- идущие фоновые работы. См. How to save state in Android onPause using android HttpRequest