#android #cordova #service #process #foreground
#Android #кордова #Обслуживание #процесс #передний план
Вопрос:
Мое приложение для Android основано на Cordova и непрерывно извлекает XML-файл в указанное время. Он должен это сделать. Но его объем составляет ~ 70 МБ в оперативной памяти, и иногда он убивается.
Есть ли способ создать службу переднего плана, привязанную к процессу, чтобы, пока служба находится на переднем плане, процесс не был убит?
Ответ №1:
Проверьте startForeground()
метод в Service
классе. Вы также можете получить блокировку пробуждения при запущенной службе. Это гарантирует, что устройство все еще не спит во время обработки вашего задания. Не забудьте «разблокировать» его после завершения чтения xml. http://developer.android.com/reference/android/os/PowerManager .WakeLock.html .
WakefulBroadcastReceiver
отличный помощник для запуска службы с помощью этой блокировки пробуждения. Проверьте здесь http://developer.android.com/reference/android/support/v4/content/WakefulBroadcastReceiver.html
Ответ №2:
Какая версия вашего приложения minSdk? Может быть, вы можете реализовать метод onTaskRemoved() для перезапуска вашей службы при уничтожении.