Подтвердить что ты не робот

Принудительное обслуживание переднего плана не запускается с ошибкой "process is bad"

У меня есть начальный сервис переднего плана. Я позаботился о возврате START_STICKY из onStartCommand. Я заметил, что службы переднего плана работают неограниченно, но периодически прерываются внутренним модулем Android под названием RestartProcessManager. По существу, процесс LRU поддерживается, и вновь завершенный сервис снова назначается, если он настроен на это (липкий или нет). Проблема, с которой я сталкиваюсь, заключается в том, как обрабатывается перезагрузка. Logcat указывает, что цель службы была доставлена, но не выполнена, потому что "процесс плох"

После пробития других источников меня заставили поверить, что в моей службе произошла утечка памяти. Чтобы проверить эту претензию, я создал службу переднего плана vanilla, которая ничего не делала, кроме как вести журнал во время onStartCommand внутри одного и того же приложения. Это тоже наблюдало ту же проблему.

Пробовал то же самое в новом проекте (очевидно, с новым именем пакета), а перезапуск службы работал отлично. Также я смоделировал перезапуск, нажав кнопку красного крестика под студией → logcat (что по сути убивает процесс). Во всяком случае, намерение службы было успешно доставлено на этот раз, и служба снова запущена. Я предположил, что в моем проекте могут быть некоторые зависимости, которые могут быть беспорядочными. Я повторил зависимости в новом проекте и продолжал работать, как ожидалось.

Теперь это то, где он становится абсурдным. Я изменяю имя пакета в багги-проекте, и я больше не сталкиваюсь с этой проблемой. Я бы решил, что это исправление, потому что я провел около двух дней, диагностируя это, но изменение имени пакета для меня не представляется возможным, поскольку мое приложение уже опубликовано.

Edit-1: Я должен упомянуть, что я наблюдал это в настоящее время на моем устройстве, использующем Oreo (один плюс 5)

Edit-2: Служба работает в том же процессе, что и приложение. И я также включил дамп logcat.

02-15 14:26:50.850  1395  1445 D RestartProcessManager: updateSelf :  com.ambee, size : 30
02-15 14:26:50.852  1395  1445 D RestartProcessManager: com.ambee got score 26.17240489145331 in DayDuration for duration : 525176
02-15 14:26:50.853  1395  1445 D RestartProcessManager: com.ambee got score 99.80218232889891 in DayLRU for LRU diff : 47707034
02-15 14:26:50.853  1395  1445 D RestartProcessManager: com.ambee got score 90.9090909090909 in DayLaunchTimes for launch times : 10
02-15 14:26:50.854  1395  1445 D RestartProcessManager: com.ambee : X : 2727.272727272727, Y : 785.1721467435993, Z : 2994.0654698669673
02-15 14:26:51.082  1395  1445 I ActivityManager: Killing 13839:com.ambee/u0a260 (adj 200): [BgDetect][RNK] kill com.ambee (uid 10260) usage 4
02-15 14:26:51.083  1395  1445 D ActivityManager: Process com.ambee has 1 services
02-15 14:26:51.083  1395  1445 W ActivityManager: Scheduling restart of crashed service com.ambee/.vson.LinkService in 10996ms
02-15 14:26:51.084  1395  1445 D EmbryoManager: prepare com.ambee user 0
02-15 14:26:51.099  3710  3710 D NotificationListener: onNotificationRemoved# hash: 68226270 sbn: StatusBarNotification(pkg=com.ambee user=UserHandle{0} id=903 tag=null key=0|com.ambee|903|null|10260: Notification(channel=default pri=0 contentView=null vibrate=null sound=null defaults=0x0 flags=0x72 color=0x00000000 actions=2 vis=PRIVATE))
02-15 14:26:54.121  1395  1444 I ActivityManager: Start proc 22570:com.ambee/u0a260 for embryo com.ambee
02-15 14:26:54.121  1395  1444 D Embryo_Uterus: Embryo created.com.ambee, pid=22570
02-15 14:26:54.796 22570 22570 D Embryo  : preload com.ambee, 10ms, hwui=true, layout=false, decor=false
02-15 14:27:02.084  1395  1445 W ActivityManager: Unable to launch app com.ambee/10260 for service Intent { cmp=com.ambee/.vson.LinkService }: process is bad
02-15 14:27:04.214  1395  1444 D Embryo_Uterus: rank:63, com.ambee, 35767806
4b9b3361