I'm not an Android user, but I have an Android user as a contact in my XMPP roster (instant messaging). I noticed that his presence switches from "Away" to "Offline" rotatory when his smartphone is not in use (but constantly connected to his private WLAN).
See for example the following status changes for his account from tonight (while he was sleeping, so no activity with the 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)
He uses the XMPP client Jabiru. He can't explain why this is happening; he doesn't find any settings that could be responsible for this.
I googled if it is a known bug and found this statement (in German) in a forum thread, which could be translated to:
Nice client, but it will probably not keep you connected when inactive, "thanks" to Androids memory management
Is this true? Could it be a problem with Android itself and not this particular XMPP app? How can this be fixed? The XMPP status should stay at "Away" (and not disconnect&reconnect again and again) when the smartphone is inactive.