1 votes

WhatsApp MessageService est toujours tué peu de temps après avoir quitté l'application.

Il y a quelques jours, j'ai remarqué que je ne recevais plus de messages WhatsApp jusqu'à ce que je lance manuellement l'application, ce qui fait que les messages en attente sont délivrés en une seule fois.

J'ai commencé mon enquête en surveillant le com.whatsapp.messaging.MessageService dans le gestionnaire d'applications.

Voici à quoi cela ressemble au début, après que j'ai quitté WhatsApp :

enter image description here

Et voici à quoi ça ressemble quelques minutes plus tard :

enter image description here

On dirait que le MessageService soit il a démissionné, soit il a été licencié. Pour vérifier cela, j'ai vérifié avec adb. Je peux voir le service au début :

$ 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}

Mais ensuite, ce service disparaît, alors que le processus principal est toujours en cours :

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

Le service ne s'arrête pas en même temps. Je l'ai vu se terminer aussi tôt que 6 minutes après avoir quitté WhatsApp, et aussi tard que 11 minutes. Mais dans la grande majorité des cas, il s'arrête à la 8ème minute.

J'ai examiné attentivement le logcat au moment de l'arrêt du service avec la requête logcat suivante, qui, je crois, ne fait taire que les choses dont je ne me soucie pas :

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

Je n'ai rien vu dans les journaux qui pourrait indiquer ce qui est arrivé au service. S'est-il arrêté ? Quelque chose l'a tué ? Comment puis-je le savoir ?

J'ai pensé que le service avait été interrompu parce que le système d'exploitation manquait de mémoire vive, mais il semble que ce ne soit pas le cas. Voici la RAM au moment de l'arrêt du service :

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

Tout en travaillant sur ce problème, j'ai utilisé Titanium Backup pour geler toutes les applications qui pourraient interférer avec le fonctionnement normal de WhatsApp, voici donc les applications que j'ai gelées :

  • Greenify
  • Amplifier
  • XPrivacy

J'ai également désactivé "Per App Hacking", qui est un module Xposed.

Avez-vous des idées sur la façon dont je peux en savoir plus sur la raison pour laquelle MessageService est terminé ?

EDIT 1 : Est-il possible que MessageService soit censé se terminer, et que WhatsApp s'appuie sur GCM pour être informé de la présence de nouveaux messages ?

0voto

Fabio Coelho Points 11

J'ai eu exactement le même problème que le vôtre. Je peux également constater que le service MessageService est tué après environ 10 minutes. Une fois le service tué, les messages ne sont reçus qu'à l'ouverture de l'application. En cherchant ce problème sur Google aujourd'hui, j'ai trouvé par hasard ce fil de discussion que vous avez publié il y a à peine 3 heures.

J'utilise un nouveau téléphone sur lequel j'ai installé Cyanogenmod 13. J'ai déjà essayé de modifier plusieurs paramètres liés à l'utilisation de la batterie, à l'optimisation de la mémoire, etc. mais en vain.

J'ai commencé à utiliser ce téléphone il y a 2 jours et le problème de whatsapp se produit depuis. Demain, je vais essayer de désinstaller et réinstaller whatsapp depuis le Play Store, puisque celui-ci a été restauré à partir d'une sauvegarde Titanium Backup. J'ai vu dans un forum quelqu'un qui a résolu un problème similaire en faisant cela... il avait aussi restauré à partir d'une sauvegarde TiBu et avait ce problème.

A propos, votre théorie sur la GCM semble aller dans la bonne direction - dans le téléphone de ma femme, le service MessageService est également tué après environ 10 minutes, cependant, elle n'a aucun retard dans la réception des messages Whatsapp - donc peut-être que cela dépend effectivement de la GCM pour cela.

Faites-moi savoir si vous faites des progrès dans l'enquête ou si vous trouvez une solution. Faites-moi également savoir si je peux vous aider pour toute autre chose.

1 votes

Cela ne répond pas à la question initiale.

0 votes

@sickgemini : Bien que cela ne réponde pas à la question, savoir que MessageService est également arrêté après 10 minutes sur un téléphone en fonctionnement est très précieux pour moi. Cela me dit que le service est arrêté par conception, plutôt que d'être terminé par l'OS. Je retire le vote négatif.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X