В чем разница между Android: постоянный и Service.START_STICKY? - PullRequest
0 голосов
/ 01 апреля 2019

Этот блог четко объяснил разницу между

  • Service.START_STICKY
  • Service.START_NOT_STICKY
  • Service.START_REDELIVER_INTENT

Теперь, прочитав это, я запутался, увидев это объявление службы с AndroidManifest.xml

<service android:name="com.amazon.tablet.myapplication.MyService" android:persistent="true"></service>

Я до сих пор предполагал / понял, что выполнение android:persistent=true в объявлении службы сделает службу постоянной.и перезапустить, когда он идет вниз.Но я могу достичь этого, не имея persistent=true с одним Service.START_STICKY.

  1. В чем разница между android:persistent=true против этих атрибутов Service.START_STICKY, Service.START_REDELIVER_INTENT?
  2. Когда служба будет создана заново, будет ли приложение повторно запущено?Я пытаюсь понять, будет ли процесс для приложения создан при повторном создании службы.

    Примечание. Я объявил службу со свойством android:persistent=true и попытался убить мое приложение с помощью adb shell kill <pid>, но оно было создано заново.Мне интересно / не понятно, в этом случае разница между восстановлением службы и восстановлением приложения.

1 Ответ

0 голосов
/ 02 апреля 2019

1.Service.START_STICKY

Ожидание намерения запустить службу (как только процесс, связанный с этим, будет убит)

2.android: persistent = "true"

Это сделает службу как постоянную true / false соответственно, и это не будет ждать намерения снова запустить службу (как только она будет убита из-за LMK).и все)

3.Служба и приложение постоянные

Если сделать службу постоянной, это сделает связанный с ней процесс постоянным.И тот же случай с приложением.

Когда вы объявляете отдельный процесс для вашей службы, ваше приложение не будет постоянным.

...