1 votos

WhatsApp MessageService siempre se mata poco después de salir de la aplicación

Hace un par de días me di cuenta de que ya no recibo mensajes de WhatsApp hasta que inicio la aplicación manualmente, que es cuando se entregan los mensajes pendientes de una sola vez.

Comencé mi investigación monitoreando el com.whatsapp.messaging.MessageService en el Administrador de Aplicaciones.

Esto es lo que parece al principio, después de salir de WhatsApp:

enter image description here

Y así es como se ve unos minutos después:

enter image description here

Parece que el MessageService o lo dejaba, o se terminaba. Para verificar esto, lo comprobé con Adb. Puedo ver el servicio al principio:

$ adb shell dumpsys activity services | grep wh
  * ServiceRecord{43deec28 u0 com.whatsapp/.messaging.MessageService}
    intent={act=com.whatsapp.messaging.MessageService.START cmp=com.whatsapp/.messaging.MessageService}
    packageName=com.whatsapp
    processName=com.whatsapp
    baseDir=/data/app/com.whatsapp-1.apk
    dataDir=/data/data/com.whatsapp
    app=ProcessRecord{42d19f90 10037:com.whatsapp/u0a10187}

Pero entonces este servicio desaparece, aunque el proceso principal sigue funcionando:

$ adb shell ps | grep wh
u0_a187   10037 215   988084 78996 ffffffff 00000000 S com.whatsapp

El servicio no se termina al mismo tiempo. Lo he visto matado tan pronto como 6 minutos después de salir de WhatsApp, y tan tarde como a los 11 minutos. Pero en la gran mayoría de los casos, se termina en algún momento del 8º minuto.

He examinado cuidadosamente el logcat durante el momento de la terminación del servicio con la siguiente consulta de logcat, que creo que silencia sólo las cosas que no me importan:

adb logcat -v time LightSensor:s LightsService:s  SensorService:s SensorManager:s STATUSBAR-BatteryController:s BatteryService:s HeadsetStateMachine:s android.widget.GridLayout:s MP-Decision:s SignalStrength:s McClient:s McDaemon:s QcrilMsgTunnelSocket:s | grep -v ss_tz_mobicore | grep -v ss_daemon

No pude ver nada en los registros que sugiriera lo que pasó con el servicio. ¿Renunció? ¿Algo lo mató? ¿Cómo puedo averiguarlo?

Pensé que tal vez el servicio se había terminado b/c el SO estaba bajo en RAM, pero esto no parece ser así. Aquí está la RAM en el momento de la terminación:

$ adb shell free -m
             total         used         free       shared      buffers
Mem:          1821         1587          234            0           75
-/+ buffers:               1511          310
Swap:          399          134          265

Mientras trabajaba en este tema, he utilizado Titanium Backup para congelar todas las aplicaciones que pudieran interferir con el funcionamiento normal de WhatsApp, así que estas son las aplicaciones que he congelado:

  • Greenify
  • Ampliar
  • XPrivacy

También apagué "Per App Hacking", que es un Módulo Xpuesto.

¿Alguna idea de cómo puedo saber más acerca de por qué MessageService está siendo cancelado?

EDICIÓN 1 : ¿Es posible que MessageService se termine y que WhatsApp confíe en que GCM sea notificado cuando haya nuevos mensajes?

0voto

Fabio Coelho Puntos 11

He estado teniendo exactamente el mismo problema que el tuyo. También puedo ver que el servicio de mensajes está siendo asesinado después de unos 10 minutos. Después de que el servicio se cancela, los mensajes sólo se reciben cuando se abre la aplicación. Mientras buscaba en Google este problema, casualmente encontré este hilo que había publicado hace 3 horas.

Estoy usando un nuevo teléfono en el que instalé el Cyanogenmod 13. Ya he intentado cambiar varios ajustes relacionados con el uso de la batería, la optimización de la memoria, etc., pero sin éxito.

Empecé a usar este teléfono hace 2 días y el asunto de la "whatsapp" ha estado sucediendo desde entonces. Mañana intentaré desinstalar y reinstalar whatsapp de la Play Store, ya que este fue restaurado de una copia de seguridad de Titanium Backup. Vi en un foro a alguien que resolvió un problema similar haciendo eso... también había restaurado desde una copia de seguridad de TiBu y estaba teniendo ese problema.

Por cierto, su teoría sobre el GCM parece apuntar en la dirección correcta - en el teléfono de mi esposa el servicio de MessageService también muere después de unos 10 minutos, sin embargo, ella no tiene ningún retraso en la recepción de los mensajes de whatsapp - así que tal vez se basa en el GCM para eso.

Avísame si haces algún progreso en la investigación o si llegas a una solución. Hazme saber también si puedo ayudarte con cualquier otra cosa.

1 votos

Esto no responde a la pregunta original.

0 votos

@sickgemini: Aunque no responde a la pregunta, saber que el MessageService también se detiene después de 10 minutos en un teléfono que funciona es muy valioso para mí. Me dice que el servicio se detiene por diseño, en lugar de ser terminado por el SO. Voy a quitar el voto negativo.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X