0 votes

Jabiru se déconnecte/se reconnecte toutes les 10-15 minutes lorsqu'il est inactif.

Je ne suis pas un utilisateur d'Android, mais j'ai un utilisateur d'Android comme contact dans ma liste XMPP (messagerie instantanée). J'ai remarqué que sa présence passe de "Away" à "Offline" de manière rotative lorsque son smartphone n'est pas utilisé (mais constamment connecté à son WLAN privé).

Voir par exemple les changements d'état suivants pour son compte à partir de cette nuit (pendant qu'il dormait, donc aucune activité avec le téléphone) :

\[00:05:13\] Status: Offline
\[00:06:02\] Status: Away: AutoStatus (idle)
\[00:18:14\] Status: Offline
\[00:21:17\] Status: Away: AutoStatus (idle)
\[00:35:15\] Status: Offline
\[00:36:32\] Status: Away: AutoStatus (idle)
\[00:50:47\] Status: Offline
\[00:51:52\] Status: Away: AutoStatus (idle)
\[01:00:08\] Status: Offline
\[01:01:14\] Status: Away: AutoStatus (idle)
\[01:15:13\] Status: Offline
\[01:16:31\] Status: Away: AutoStatus (idle)
\[01:25:13\] Status: Offline
\[01:25:44\] Status: Away: AutoStatus (idle)
\[01:40:13\] Status: Offline
\[01:41:00\] Status: Away: AutoStatus (idle)
\[01:49:14\] Status: Offline
\[01:50:14\] Status: Away: AutoStatus (idle)
\[02:15:17\] Status: Offline
\[02:17:32\] Status: Away: AutoStatus (idle)
\[02:31:19\] Status: Offline
\[02:32:48\] Status: Away: AutoStatus (idle)
\[02:52:20\] Status: Offline
\[02:54:04\] Status: Away: AutoStatus (idle)
\[03:07:52\] Status: Offline
\[03:09:18\] Status: Away: AutoStatus (idle)
\[03:22:52\] Status: Offline
\[03:24:34\] Status: Away: AutoStatus (idle)
\[03:37:55\] Status: Offline
\[03:39:48\] Status: Away: AutoStatus (idle)
\[03:53:26\] Status: Offline
\[03:55:03\] Status: Away: AutoStatus (idle)
\[04:08:57\] Status: Offline
\[04:10:18\] Status: Away: AutoStatus (idle)
\[04:23:57\] Status: Offline
\[04:25:32\] Status: Away: AutoStatus (idle)
\[04:39:28\] Status: Offline
\[04:40:47\] Status: Away: AutoStatus (idle)
\[04:54:29\] Status: Offline
\[04:56:04\] Status: Away: AutoStatus (idle)
\[05:09:30\] Status: Offline
\[05:11:19\] Status: Away: AutoStatus (idle)
\[05:24:31\] Status: Offline
\[05:26:34\] Status: Away: AutoStatus (idle)

Il utilise le client XMPP Jabiru . Il ne peut pas expliquer pourquoi cela se produit ; il ne trouve aucun paramètre qui pourrait être responsable de ce phénomène.

J'ai cherché sur Google si c'était un bogue connu et j'ai trouvé ceci déclaration (en allemand) dans un fil de discussion du forum, ce qui pourrait être traduit par :

Client sympa, mais il ne vous gardera probablement pas connecté lorsque vous êtes inactif, "grâce" à la gestion de la mémoire d'Androïd.

Est-ce vrai ? Pourrait-il s'agir d'un problème avec Android lui-même et non avec cette application XMPP particulière ? Comment résoudre ce problème ? Le statut XMPP devrait rester sur "Away" (et ne pas se déconnecter et se reconnecter encore et encore) lorsque le smartphone est inactif.

1voto

Flow Points 18254

A propos de la déclaration

La déclaration citée est tout simplement faux. Android (ou son composant de gestion de la mémoire) n'empêche pas une application de maintenir une connexion stable avec n'importe quel type de service réseau (par exemple XMPP).

Vous devez seulement faire face au fait qu'Android va tuer votre processus s'il est sous pression mémoire. Mais le même gestionnaire qui a tué votre service ( ActivityManager ) redémarrera également votre service une fois que la situation de mémoire faible sera résolue. Votre application doit simplement se reconnecter à ce moment-là.

Comme cela ne se produit que lorsqu'aucune activité de l'application n'est au premier plan, l'utilisateur ne remarque généralement pas la reconnexion, ou bien il s'en moque, puisque l'application est de toute façon en arrière-plan.

Vos symptômes

Il est évident que Jabiru se reconnecte. Et je pense aussi que Jabiru ne se déconnecte pas intentionnellement. Il est plus probable que la connexion de données soit tombée en panne. La raison la plus probable est que le WiFi s'est mis en veille. Mais alors la connexion GSM devrait prendre le relais et nous ne verrions qu'une seule déconnexion après environ 15 minutes.

Je pense que vous devrait regarder dans le journal d'Android pour découvrir ce qui se passe au moment où Jabiru se déconnecte. La politique de mise en veille du WiFi est une raison à examiner, mais je me demande ensuite pourquoi Jabiru est capable de se reconnecter, puisque le WiFi devrait être désactivé jusqu'à ce que l'appareil soit réveillé.

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