Служба переднего плана для предотвращения уничтожения процесса?

#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() для перезапуска вашей службы при уничтожении.