Las aplicaciones en segundo plano fallan

Entonces, esto le sucede a casi todas las aplicaciones, cuando están en segundo plano. Las pestañas de Chrome se recargan después de volver a abrir la aplicación. Las aplicaciones como Ingress parecen recién iniciadas. Spotify incluso falla cuando está en segundo plano y abro Chrome.

Entonces, antes de reinstalar el teléfono, ¿cuál podría ser el problema? Nunca he instalado ninguna aplicación de limpieza de memoria. Estoy ejecutando stock 4.4.2 en un Moto G.

Registro de fallas de Chrome de ADB:

I/ActivityManager(  969): Start proc net.nurik.roman.dashclock for service net.nurik.roman.dashclock/com.google.android.apps.dashclock.DashClockService: pid=18611 uid=10126 gids={50126, 3003}
W/InputDispatcher(  969): channel '4303f310 com.android.chrome/com.google.android.apps.chrome.Main (server)' ~ Consumer closed input channel or an error occurred.  events=0x9
E/InputDispatcher(  969): channel '4303f310 com.android.chrome/com.google.android.apps.chrome.Main (server)' ~ Channel is unrecoverably broken and will be disposed!
I/ActivityManager(  969): Process com.android.chrome (pid 17867) has died.
I/WindowState(  969): WIN DEATH: Window{4303f310 u0 com.android.chrome/com.google.android.apps.chrome.Main}
W/InputDispatcher(  969): Attempted to unregister already unregistered input channel '4303f310 com.android.chrome/com.google.android.apps.chrome.Main (server)'
W/WindowManager(  969): Force-removing child win Window{42ea6618 u0 SurfaceView} from container Window{4303f310 u0 com.android.chrome/com.google.android.apps.chrome.Main}
E/JavaBinder(  969): !!! FAILED BINDER TRANSACTION !!!
W/WindowManager(  969): Failed looking up window
W/WindowManager(  969): java.lang.IllegalArgumentException: Requested window android.os.BinderProxy@42ea6440 does not exist
W/WindowManager(  969):     at com.android.server.wm.WindowManagerService.windowForClientLocked(WindowManagerService.java:7968)
W/WindowManager(  969):     at com.android.server.wm.WindowManagerService.windowForClientLocked(WindowManagerService.java:7959)
W/WindowManager(  969):     at com.android.server.wm.WindowState$DeathRecipient.binderDied(WindowState.java:1047)
W/WindowManager(  969):     at android.os.BinderProxy.sendDeathNotice(Binder.java:493)
W/WindowManager(  969):     at dalvik.system.NativeStart.run(Native Method)
I/WindowState(  969): WIN DEATH: null

Registro de fallos de Ingress

I/ActivityManager(  969): Process com.nianticproject.ingress (pid 17260) has died.
I/WindowState(  969): WIN DEATH: Window{430e7c68 u0 com.nianticproject.ingress/com.nianticproject.ingress.NemesisActivity}
W/WindowManager(  969): Force-removing child win Window{431d43f0 u0 SurfaceView} from container Window{430e7c68 u0 com.nianticproject.ingress/com.nianticproject.ingress.NemesisActivity}
W/WindowManager(  969): Failed looking up window
W/WindowManager(  969): java.lang.IllegalArgumentException: Requested window android.os.BinderProxy@423cb8b0 does not exist
W/WindowManager(  969):     at com.android.server.wm.WindowManagerService.windowForClientLocked(WindowManagerService.java:7968)
W/WindowManager(  969):     at com.android.server.wm.WindowManagerService.windowForClientLocked(WindowManagerService.java:7959)
W/WindowManager(  969):     at com.android.server.wm.WindowState$DeathRecipient.binderDied(WindowState.java:1047)
W/WindowManager(  969):     at android.os.BinderProxy.sendDeathNotice(Binder.java:493)
W/WindowManager(  969):     at dalvik.system.NativeStart.run(Native Method)
I/WindowState(  969): WIN DEATH: null
Por desgracia, el mensaje "el proceso x ha muerto" aparece después de que el proceso muere, por lo que cualquier causa es anterior a eso, si es que aparece en el registro. Todo lo que sigue es consecuencia del problema original.
Lo investigaré más tarde.

Respuestas (1)

Obtengo esto en MotoG 4.4.2 también. Parece que MotoG tiene una selección de aplicaciones muy agresiva en general. Este enlace explica lo que hace el grupo XDA sobre el problema.

En resumen, hay un archivo de configuración del sistema 'minFree' ( sys/module/lowmemorykiller/minfree) que el sistema operativo usa para tratar de mantener una cantidad mínima de memoria libre. Desafortunadamente, en stock MotoG 4.4.2, la configuración es muy agresiva y básicamente significa que solo se mantendrá una aplicación (dependiendo del consumo de memoria). En 4.4.4 se flexibiliza este importe mínimo.

Con el enraizamiento puede ajustar la configuración; o actualice a 4.4.4. Hay una aplicación de ayuda, MinFreeManager (requiere acceso de raíz), que también puede ayudar a ajustar este archivo de configuración.

Ya cambié a un Moto G 2 con Lollipop y sigo experimentando el mismo problema de vez en cuando...