Ayer mismo compré un dispositivo no conocido llamado Hisense U30
con Android 9 y funciona mal. Mata las aplicaciones en segundo plano MUY AGRESIVAMENTE. Al igual que empiezo la música en Yandex.Music
(Spotify analógico ruso), apago la pantalla y en 1-2 minutos algo mata al reproductor. Mata todo.
Lo que ya he probado:
- Desactiva todos los ahorradores de batería preinstalados;
- Desactivar la optimización de la batería para ciertas aplicaciones;
- Probado todo, desde Las aplicaciones en segundo plano son eliminadas (por algo que no sea la optimización de la batería)
Nada. El jugador sigue siendo asesinado. El sistema operativo se parece bastante a Android de serie (al menos no hay muchas aplicaciones preinstaladas). Así que mi conjetura es que el sistema operativo es de alguna manera configurado incorrectamente.
He mirado en logcat
y lo que tengo:
-
Comienza con
MemoryDetectService
asíMemoryDetectService: onStartCommand()---> action = screen_off_app_clear MemoryDetectService: AutoClearState -----> begin
-
Entonces este servicio escanea a través de todas las aplicaciones (supongo) que se están ejecutando y encuentra el reproductor mío también
MemoryDetectService: getRunningAppPackageName()---> begin ... MemoryDetectService: RunningAppProcessInfo: cur.processName = ru.yandex.music:Metrica, pkgName = ru.yandex.music, uid = 10123, uid % 10000 = 123 MemoryDetectService: RunningPkgList---> pkgName = ru.yandex.music ... MemoryDetectService: getCurrentHomePackages(): recentTasks = ru.yandex.music
-
Y luego, de alguna manera, decide matar a mi jugador
MemoryDetectService: mRunningPkgList: pkgName = ru.yandex.music MemoryDetectService: mNeedForceStopPkgList---> pkgName = ru.yandex.music ... MemoryDetectService: currentPkgName---> ru.yandex.music MemoryDetectService: hasPkgNeedClean(): currentPkgName(New Method: mRecent2PkgList.get(0)) = ru.yandex.music MemoryDetectService: getWhiteListFromFile: String = null MemoryDetectService: hasPkgNeedClean(): memBefore = 3894, mWhiteListStr =
-
Y entonces empieza a matar procesos
MemoryDetectService: clearMemory-----> begin MemoryDetectService: clearMemory(): sendBroadcast hmct.intent.action.CLEAR_CACHE: null; MemoryDetectService: screen on cleaning open = true , screen off cleaning open = true MemoryDetectService: killPackage---> begin ... MemoryDetectService: forceStopPackage---> begin MemoryDetectService: clearMemory(forceStopPackage): isScreenOn = false ActivityManager: Force stopping ru.yandex.music appid=10123 user=0: from pid 1972 ANDR-IOP: IOP HAL: Received pkg_name = ru.yandex.music pid = 0 ActivityManager: kill app.info.packageName=ru.yandex.music minOomAdj=-10000 packageName=ru.yandex.music ActivityManager: kill app.info.packageName=ru.yandex.music minOomAdj=-10000 packageName=ru.yandex.music ActivityManager: Killing 6673:ru.yandex.music:Metrica/u0a123 (adj 200): stop ru.yandex.music ANDR-IOP: IOP HAL: Received pkg_name = ru.yandex.music:Metrica pid = 0 ActivityManager: Scheduling restart of crashed service ru.yandex.music/com.yandex.metrica.MetricaService in 20937ms Zygote : Process 7489 exited due to signal (9) ... ActivityManager: Killing 6616:ru.yandex.music/u0a123 (adj 200): stop ru.yandex.music ANDR-IOP: IOP HAL: Received pkg_name = ru.yandex.music pid = 0 libprocessgroup: kill(-7799, 9) failed: No such process ActivityManager: Scheduling restart of crashed service ru.yandex.music/.common.service.player.MediaSessionService in 20929ms ActivityManager: Scheduling restart of crashed service ru.yandex.music/.common.service.player.AppForegrounderService in 20929ms ... ActivityManager: Force finishing activity ActivityRecord{ba18734 u0 ru.yandex.music/.main.MainScreenActivity t248} MemoryDetectService: setPackageAliveState start----packageName = ru.yandex.music MemoryDetectService: setPackageAliveState end----packageName = ru.yandex.music, aInfo.processName = ru.yandex.music MemoryDetectService: mClearAppList---> pkgName = ru.yandex.music, mClearApp++--->1
¿Alguna idea de cómo arreglar esto?
P.D. AFAIK no hay ninguna otra ROM como Linage OS para mi teléfono, y no soy un gran fan de root
porque esto romperá Google Pay, así que sería gran para tratar con él sin rootear el dispositivo.
Actualización 1
Busqué este servicio en dumpsys
y tengo una idea: desactivar este servicio a través de adb shell am stopservice com.android.systemui/com.hmct.systemui.taskmanager.detectmemory.MemoryDetectService
. Volveremos con los resultados.
0 votos
Tengo el mismo problema. Tengo 2G de RAM 4G vacía y sin embargo mi navegador se mata cada vez que cambio a cualquier otra aplicación. Estoy usando Xiaomi Lite (supuestamente, debe ser Android vainilla)