как избежать lowmemorykiller закрытия моего сервиса - PullRequest
0 голосов
/ 16 февраля 2020

Я создаю сервис для android 9 и обнаружил, что в некоторых ситуациях он закрывается системой android

. При взгляде на logcat кажется, что он был убит lowmemorykiller

У меня есть два вопроса:

  1. в android манифест Я установил intent-filter android:priority="1000", должно ли это решить проблему?
  2. Что такое предлагаемый стресс-тест для имитации низкого условия памяти для тестирования? Исходный код был бы очень полезен.

1 Ответ

0 голосов
/ 24 февраля 2020
  1. Вам необходимо использовать android:priority="999" или меньше.

SYSTEM_HIGH_PRIORITY Постоянное значение: 1000
Приложения никогда не должны использовать фильтры с таким или более высоким приоритетом.

adb shell am send-trim-memory com.example.app MODERATE

[HIDDEN | RUNNING_MODERATE | ФОН | RUNNING_LOW | MODERATE | RUNNING_CRITICAL | COMPLETE]

(обратите внимание, что эта команда доступна для устройств с API> = 21)

Также у меня было много ситуаций, когда мне требовался «неостановимый» сервис, поэтому я написал свою библиотеку , Вы можете попробовать это здесь: https://github.com/iardelian/Revive-S

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...