signalapp / Signal-Android

A private messenger for Android.
https://signal.org
GNU Affero General Public License v3.0
25.46k stars 6.1k forks source link

Signal consumes half of my battery (no google services or microG) #9729

Open someone1239 opened 4 years ago

someone1239 commented 4 years ago

Bug description

I installed Signal a few days ago, but it consumes close to 50% of my battery, more than all my other apps combined, when I barely even used it (answered one short call, sent and received < 5 messages). I'm on grapheneOS so no google services and no microG. I posted the issue on reddit, and one person also on grapheneOS showed me a screenshot where Signal took 7% of their battery, with about the same time since full charge. Battery optimization is off, I can't even turn it on. App runs constantly in foreground (which I assume is normal for the websockets).

Steps to reproduce

Actual result: Signal takes between 40 and 50% of battery life Expected result: Signal should take ~10% of battery life

Screenshots

180aacb7-4a2f-46bc-ab2a-ce82e362eeda3

Device info

Device: Google Pixel 3a Android version: 10 Signal version: 4.62.4 (6520) from website

Link to debug log

https://debuglogs.org/ab69b49388ae783727c5d47318d25296311a9f8f0cce64991fb28ae0830f2a34

teynav commented 4 years ago

Can you say if disabling battery optimization still doesn't improve anything?

someone1239 commented 4 years ago

Can you say if disabling battery optimization still doesn't improve anything?

Battery optimization is already off, and I can't turn it on anyway (the option is grayed out)

willemkuijpers commented 4 years ago

40 ? I got 108 % lol

someone1239 commented 4 years ago

Update: I switched to wifi recently instead of 4g, and the battery consumption has been much better since.

Here's the debug log in wifi: https://debuglogs.org/826d0a11eed1b55bbaf8d858247cae6615a7f74f3efe3a99d091d700371ead10 I noticed I don't have the java.io.EOFException anymore, I'm not sure if this is related to my problem.

I switched back to 4g: https://debuglogs.org/68c5e8bba6b9c80ae09e996b91e4059e7c9c5fe410c9b92afb0babe56057b8ad and I had 4 of these errors in 30 minutes.

ghost commented 4 years ago

Update : I reinstalled GrapheneOS (without Google Services / MicroG) and Signal this week and the behavior is strictly the same as the one reported in this thread. In wifi, no problem of battery consumption. In 4G, excessive battery consumption.

Last month, when I tested GrapheneOS and therefore Signal above, I encountered the same problem : excessive battery consumption. Something to know and that I have in common with someone1239: my provider is a french provider (Sosh/Orange in my case) I had not tested in wifi but as someone1239 tested and that it was better, maybe the provider is at fault.

ioctl-user commented 4 years ago

I have the same problem with Signal 4.67.3 (6802), battery usage by the app is very high. Here is my log given after a little time since boot: https://debuglogs.org/b2e0271e025f80209847b46d4aac52142da8320e8ad3f93045ca9fbeca61fb28

There are a lot of "java.io.EOFException" . It looks like 55000ms keep alive alarm is not working.

ioctl-user commented 4 years ago

There are a lot of "java.io.EOFException" . It looks like 55000ms keep alive alarm is not working.

Update. This problem and this message were caused by additional app to force Doze mode.

However, even with 55000 ms timer working, battery drain is about 1%/hour. At that, there are two threads, that awake in 55 sec timeout each (you can see it in log), and after some period of running they "loose synchronization", so device wakes twice in a 55 sec.

It seems they are running in IncomingMessageObserver class inside of localPipe and unidentifiedLocalPipe objects. Is it possible, to use only one keep alive thread to save battery?

pierre07 commented 3 years ago

Same problem for me with Signal 4.69.6 on a Nexus 5X This issue exists since 2017 and is still not resolved ? Or signal-service-java is a solution?

vctls commented 3 years ago

Isn't this a duplicate of https://github.com/signalapp/Signal-Android/issues/8658 ?

pierre07 commented 3 years ago

Isn't this a duplicate of #8658 ? My phone use Cyanogenmod / android 6.0.1 without any google services. It should be the same problem as described for Lineage on #8658 ....

roppppp commented 3 years ago

same problem, ( wifi only no problems )

========= SYSINFO ========= Time : 1610725912367 Manufacturer : Sony Model : Xperia XZ2 Compact Product : H8324 Screen : 1080x2016, xxxhdpi (480), 60.00 hz Font Scale : 1.0 Android : 10 (8137a96f34, lineage_xz2c-userdebug 10 QQ3A.200805.001 8137a96f34) ABIs : arm64-v8a, armeabi-v7a, armeabi Memory : 82M (17.93% free, 512M max) Memclass : 192 OS Host : lineage-buildkite Censored : false Play Services : false (9) FCM : false Locale : de_DE Linked Devices: false First Version : 759 App : Signal 5.1.8 (768, 7682) Package : org.thoughtcrime.securesms (doDiFGKPO1r)

kyljys commented 3 years ago

My excessive drainage disappeared after downgrading to a version of omnirom without microg. (No gapps) Only other thing I did was downgrading magisk to v. 21.3.

Bean-Beret commented 3 years ago

After having had this issue on several lineageOS and a shiftOS-L device (all without gapps) I looked at the corresponding implementations of other opensource android messenger apps. While Signal opens a web socket connection in a foreground process and places a sticky notification to ensure it staying active, other apps tend to go with a polling method using an alarm timer to wake up every 5 to 15 minutes to check for new messages before going back to sleep again.

As a test, I tried to replicate something similar in Signal: Close websocket connection if backgrounded, reconnect every 5 minutes or while app is in foreground. This mitigates the problem somewhat. With this method Signal still uses 3 to 5 times more battery than other messenger apps, but it came down to around 12% from 60% or more on a full charge of my samsung s6 with lineageOS (opening connection every 5 minutes). This is still not good but bearable:

https://github.com/Bean-Beret/Signal-Android/commit/fda5ebec10fc90c45c47c5452f08006aff58f6b6 This code is just a "proof of concept" and is not meant to be considered finished (I am no java or android developer).

Downside to a polling mechanism like this is, that voice calls will be missed if the app is running in background (it will notify about a missed call as soon as it is polling, however.

This will not be a replacement to the method Signal implements. People may prefer to have instant delivery of messages and calls over battery efficiency. However, it could be an alternative: What I could think of, is offering an advanced option to enable a such a method of periodic connection, instead of the original method (only if no gapps are detected). So people with the battery drain problem could chose it if they want.

I know that Signal does not want more options by development ideology and implementing a mechanism like this might not be a solution to the root cause of the problem, but thinking of this issue being present since years and popping up again all the time, a workaround could be appropriate.

ioctl-user commented 3 years ago

There is an idea, how decrease power consumption without breaking calls.

So, it seems for now battery consumed because of two reasons:

  1. Radio module, that is always active. At that, it seems, phones with GApps should keep it working all time.

  2. CPU, that active about 1 second each minute, because Signal send packet to the server and await response.

Reason 1 exists in Googled phones also, and, it seems, it doesn't consume too much battery. So, we can assume, that reason 2 is the main problem.

I have the following suggestion: Use UDP instead of TCP to check notifications.

In this case Signal will wake up, send a keep alive packet and go to sleep while waiting for a response. Server can send keep alive response in the same moment when request received, or, may be, await for 30 seconds before sending it, or, may be doesn't send it at all (if one-way "ping" is enough to keep mobile connection on). So, Signal will not wait for response in active state and consume CPU. This may help.

In other words I suggest implement something like Google push notifications for one specific app without using Google servers.

beatjost commented 3 years ago

Also have those battery drain on a Huawei phone (P40) without GMS... Would also prefer a better battery life over instant notification. 👏

Bean-Beret commented 3 years ago

Using UDP is actually a good idea. Probably that's they way whatsapp does it, where delays were never an issue, but we will never know... This would also require a server-side change which I doubt signal-staff will implement, as we de-googled users are (yet) a very small minority and not all of us encounter this issue, nevertheless.

However, I created a build with the above-mentioned workaround (periodic fetch) based on @tw-hx FOSS fork, which also lets you send locations on de-googled devices using OSM.

It still is a hacky "fix", but if you like, you can kick the tires: https://github.com/Bean-Beret/Signal-Android/actions/workflows/fossbuild.yml

There is a branch with 5 minute and one with 10 minute periodic fetch. On a shift5me phone with shiftOS-L the 5 minute version was enough to get the battery drain lower than the one of threema or telegram. On a galaxy S6 with lineageOS 14 the 10 minute version is necessary to do the same.

I do not find enough time right now to work on this to derive a proper feature/pull request. So if anyone would like to catch up from here, please do.

ioctl-user commented 3 years ago

One more suggestion.

Signal with MicroG services doesn't consume battery. Phone battery drain in sleep state reduced about 3 times comparing to that one without GAPPS/MicroG. So, MicroG can be used as a reference implementation for client side.

trint99 commented 3 years ago

Samsung S7 on wifi. I chatted a buddy around lunchtime. We exchanged a couple of memes. Now, 3 hours later, this. Screenshot_20210421-144405_Settings

tw-hx commented 3 years ago

All good points and I find very high websocket battery use too.

The underlying issue appears to be that some mobile networks don't exempt Signal's connection from early closure (they do for Google and a few others) so Signal has to send keepalives every 55 seconds. Both the server and the client have a short idle timeout ~1 min.

Two potential fixes:

Rufusdotrufus commented 3 years ago

Same issue. Pixel 2. Graphene OS no google. Signal uses 10% of battery in 4 hours. Phone was 100% charged and sitting idle and unused. No option to optimize battery use as its greyed out.

Pillendreher commented 3 years ago

I'm running Signal with MicroG and still see a significant idle drain that only goes away once I use Greenify to hibernate Signal. So I can't really confirm that everything's fine wiht MicroG running as a Play services replacement.

ioctl-user commented 3 years ago

I'm running Signal with MicroG and still see a significant idle drain

May be Signal is not using MicroG in your case? Check the "FCM" status in Signal log, it should be "true".

If it's not, you can try reconfiguring MicroG or reinstalling Signal and reregister on server.

Pillendreher commented 3 years ago

I'm running Signal with MicroG and still see a significant idle drain

May be Signal is not using MicroG in your case? Check the "FCM" status in Signal log, it should be "true".

If it's not, you can try reconfiguring MicroG or reinstalling Signal and reregister on server.

The log is indeed showing FCM as "false". I'll try to change that and report back :)

Robinhio83 commented 3 years ago

Problem still persists if not connected to WiFi. Pixel 5 with GrapheneOS, no Google.

3hhh commented 3 years ago

With MicroG Signal needs to be forced to use it on my device via pref_gcm_disabled = false in org.thoughtcrime.securesms_preferences.xml on my device. That solves the battery drain with MicroG.

However since a few months Signal then unregisters itself every few weeks. So I guess that setting breaks something else.

grote commented 3 years ago

Signal is also draining my battery super fast. The log isn't conclusive. Sometimes it seems to wake up right after setting the timer and then there's lots of garbage location ongoing:

09-01 15:32:04.403 27363 27375 I crime.securesm: Background young concurrent copying GC freed 3111157(47MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 287us total 184.149ms
09-01 15:32:18.226 27363 27375 I crime.securesm: Background concurrent copying GC freed 3160911(48MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 143us total 258.853ms
09-01 15:32:54.150 27363 22682 I WebSocketConnection: [normal:120503640] Sending keep alive...
09-01 15:32:54.150 27363 22682 I WebSocketConnection: [unidentified:87203251] Sending keep alive...
09-01 15:32:54.154 27363 27363 W AlarmSleepTimer: Waking up.
09-01 15:32:54.154 27363 22682 W AlarmSleepTimer: Setting alarm to wake up in 55000ms.
09-01 15:33:01.578 27363 27402 W IncomingMessageObserver: Application level read timeout...
09-01 15:33:01.580 27363 27402 D IncomingMessageObserver: Network: true, Foreground: false, FCM: false, Censored: false, Registered: true, Websocket Registered: true, Proxy: false
09-01 15:33:01.580 27363 27402 D IncomingMessageObserver: Reading message...
09-01 15:33:01.680 27363 27363 I JobSchedulerScheduler: Waking due to job: 0
09-01 15:33:13.385 27363 27375 I crime.securesm: Background young concurrent copying GC freed 3133646(48MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 270us total 181.476ms
09-01 15:33:27.206 27363 27375 I crime.securesm: Background concurrent copying GC freed 3164866(48MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 208us total 269.136ms
09-01 15:33:49.154 27363 22682 I WebSocketConnection: [normal:120503640] Sending keep alive...
09-01 15:33:49.154 27363 22682 I WebSocketConnection: [unidentified:87203251] Sending keep alive...
09-01 15:33:49.163 27363 22682 W AlarmSleepTimer: Setting alarm to wake up in 55000ms.
09-01 15:33:54.807 27363 27375 I crime.securesm: Background young concurrent copying GC freed 3136444(48MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 279us total 169.427ms
09-01 15:34:01.581 27363 27402 W IncomingMessageObserver: Application level read timeout...
09-01 15:34:01.582 27363 27402 D IncomingMessageObserver: Network: true, Foreground: false, FCM: false, Censored: false, Registered: true, Websocket Registered: true, Proxy: false
09-01 15:34:01.582 27363 27402 D IncomingMessageObserver: Reading message...
09-01 15:34:08.661 27363 27375 I crime.securesm: Background concurrent copying GC freed 3162639(48MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 149us total 265.197ms
09-01 15:34:36.289 27363 27375 I crime.securesm: Background young concurrent copying GC freed 3144256(48MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 273us total 139.256ms
09-01 15:34:44.164 27363 22682 I WebSocketConnection: [normal:120503640] Sending keep alive...
09-01 15:34:44.165 27363 22682 I WebSocketConnection: [unidentified:87203251] Sending keep alive...
09-01 15:34:44.172 27363 22682 W AlarmSleepTimer: Setting alarm to wake up in 55000ms.
09-01 15:34:50.185 27363 27375 I crime.securesm: Background concurrent copying GC freed 3157164(48MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 168us total 263.869ms
09-01 15:35:01.583 27363 27402 W IncomingMessageObserver: Application level read timeout...
09-01 15:35:01.585 27363 27402 D IncomingMessageObserver: Network: true, Foreground: false, FCM: false, Censored: false, Registered: true, Websocket Registered: true, Proxy: false
09-01 15:35:01.585 27363 27402 D IncomingMessageObserver: Reading message...
09-01 15:35:03.969 27363 27375 I crime.securesm: Background young concurrent copying GC freed 3122277(47MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 1.934ms total 137.477ms
09-01 15:35:17.946 27363 27375 I crime.securesm: Background concurrent copying GC freed 3172374(48MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 1.050ms total 252.617ms
09-01 15:35:39.172 27363 22682 I WebSocketConnection: [normal:120503640] Sending keep alive...
09-01 15:35:39.173 27363 22682 I WebSocketConnection: [unidentified:87203251] Sending keep alive...
09-01 15:35:39.181 27363 27363 W AlarmSleepTimer: Waking up.
09-01 15:35:39.181 27363 22682 W AlarmSleepTimer: Setting alarm to wake up in 55000ms.
09-01 15:35:59.347 27363 27375 I crime.securesm: Background young concurrent copying GC freed 3144315(48MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 269us total 171.280ms
09-01 15:36:01.585 27363 27402 W IncomingMessageObserver: Application level read timeout...
09-01 15:36:01.587 27363 27402 D IncomingMessageObserver: Network: true, Foreground: false, FCM: false, Censored: false, Registered: true, Websocket Registered: true, Proxy: false
09-01 15:36:01.587 27363 27402 D IncomingMessageObserver: Reading message...
09-01 15:36:13.124 27363 27375 I crime.securesm: Background concurrent copying GC freed 3158624(48MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 126us total 254.418ms
09-01 15:36:34.182 27363 22682 I WebSocketConnection: [normal:120503640] Sending keep alive...
09-01 15:36:34.182 27363 22682 I WebSocketConnection: [unidentified:87203251] Sending keep alive...
09-01 15:36:34.187 27363 22682 W AlarmSleepTimer: Setting alarm to wake up in 55000ms.
09-01 15:37:01.588 27363 27402 W IncomingMessageObserver: Application level read timeout...
09-01 15:37:01.589 27363 27402 D IncomingMessageObserver: Network: true, Foreground: false, FCM: false, Censored: false, Registered: true, Websocket Registered: true, Proxy: false
09-01 15:37:01.589 27363 27402 D IncomingMessageObserver: Reading message...
09-01 15:37:29.187 27363 22682 I WebSocketConnection: [normal:120503640] Sending keep alive...
09-01 15:37:29.187 27363 22682 I WebSocketConnection: [unidentified:87203251] Sending keep alive...
09-01 15:37:29.198 27363 22682 W AlarmSleepTimer: Setting alarm to wake up in 55000ms.
09-01 15:37:35.908 27363 27375 I crime.securesm: Background young concurrent copying GC freed 3136558(47MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 279us total 135.302ms
09-01 15:37:49.904 27363 27375 I crime.securesm: Background concurrent copying GC freed 3169981(48MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 120us total 257.791ms
09-01 15:38:01.590 27363 27402 W IncomingMessageObserver: Application level read timeout...
09-01 15:38:01.593 27363 27402 D IncomingMessageObserver: Network: true, Foreground: false, FCM: false, Censored: false, Registered: true, Websocket Registered: true, Proxy: false
09-01 15:38:01.593 27363 27402 D IncomingMessageObserver: Reading message...
09-01 15:38:17.588 27363 27375 I crime.securesm: Background young concurrent copying GC freed 3144270(48MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 278us total 138.684ms
09-01 15:38:24.198 27363 22682 I WebSocketConnection: [normal:120503640] Sending keep alive...
09-01 15:38:24.199 27363 22682 I WebSocketConnection: [unidentified:87203251] Sending keep alive...
09-01 15:38:24.204 27363 22682 W AlarmSleepTimer: Setting alarm to wake up in 55000ms.
09-01 15:38:31.481 27363 27375 I crime.securesm: Background concurrent copying GC freed 3164441(48MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 117us total 264.345ms
09-01 15:38:59.279 27363 27375 I crime.securesm: Background young concurrent copying GC freed 3144213(48MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 3.010ms total 168.381ms
09-01 15:39:01.594 27363 27402 W IncomingMessageObserver: Application level read timeout...
09-01 15:39:01.596 27363 27402 D IncomingMessageObserver: Network: true, Foreground: false, FCM: false, Censored: false, Registered: true, Websocket Registered: true, Proxy: false
09-01 15:39:01.596 27363 27402 D IncomingMessageObserver: Reading message...
09-01 15:39:13.186 27363 27375 I crime.securesm: Background concurrent copying GC freed 3162070(48MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 222us total 270.456ms
09-01 15:39:19.206 27363 22682 I WebSocketConnection: [normal:120503640] Sending keep alive...
09-01 15:39:19.207 27363 22682 I WebSocketConnection: [unidentified:87203251] Sending keep alive...
09-01 15:39:19.211 27363 22682 W AlarmSleepTimer: Setting alarm to wake up in 55000ms.
09-01 15:39:19.214 27363 27363 W AlarmSleepTimer: Waking up.
09-01 15:40:01.598 27363 27402 W IncomingMessageObserver: Application level read timeout...
09-01 15:40:01.605 27363 27402 D IncomingMessageObserver: Network: true, Foreground: false, FCM: false, Censored: false, Registered: true, Websocket Registered: true, Proxy: false
09-01 15:40:01.605 27363 27402 D IncomingMessageObserver: Reading message...
09-01 15:40:08.488 27363 27375 I crime.securesm: Background young concurrent copying GC freed 3141499(48MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 260us total 138.706ms
09-01 15:40:14.211 27363 22682 I WebSocketConnection: [normal:120503640] Sending keep alive...
09-01 15:40:14.212 27363 22682 I WebSocketConnection: [unidentified:87203251] Sending keep alive...
09-01 15:40:14.216 27363 27363 W AlarmSleepTimer: Waking up.
09-01 15:40:14.224 27363 22682 W AlarmSleepTimer: Setting alarm to wake up in 55000ms.
09-01 15:40:22.357 27363 27375 I crime.securesm: Background concurrent copying GC freed 3164192(48MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 123us total 278.422ms
09-01 15:40:36.201 27363 27375 I crime.securesm: Background young concurrent copying GC freed 3126534(47MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 2.390ms total 167.414ms
09-01 15:40:50.084 27363 27375 I crime.securesm: Background concurrent copying GC freed 3166369(48MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 165us total 258.558ms
09-01 15:41:01.606 27363 27402 W IncomingMessageObserver: Application level read timeout...
09-01 15:41:01.608 27363 27402 D IncomingMessageObserver: Network: true, Foreground: false, FCM: false, Censored: false, Registered: true, Websocket Registered: true, Proxy: false
09-01 15:41:01.608 27363 27402 D IncomingMessageObserver: Reading message...
09-01 15:41:09.216 27363 22682 I WebSocketConnection: [normal:120503640] Sending keep alive...
09-01 15:41:09.216 27363 22682 I WebSocketConnection: [unidentified:87203251] Sending keep alive...
09-01 15:41:09.221 27363 22682 W AlarmSleepTimer: Setting alarm to wake up in 55000ms.
09-01 15:42:01.609 27363 27402 W IncomingMessageObserver: Application level read timeout...
09-01 15:42:01.611 27363 27402 D IncomingMessageObserver: Network: true, Foreground: false, FCM: false, Censored: false, Registered: true, Websocket Registered: true, Proxy: false
09-01 15:42:01.611 27363 27402 D IncomingMessageObserver: Reading message...
09-01 15:42:04.226 27363 22682 I WebSocketConnection: [normal:120503640] Sending keep alive...
09-01 15:42:04.226 27363 22682 I WebSocketConnection: [unidentified:87203251] Sending keep alive...
09-01 15:42:04.233 27363 22682 W AlarmSleepTimer: Setting alarm to wake up in 55000ms.
09-01 15:42:04.237 27363 27363 W AlarmSleepTimer: Waking up.
09-01 15:42:12.751 27363 27375 I crime.securesm: Background young concurrent copying GC freed 3133988(47MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 1.337ms total 151.898ms
09-01 15:42:26.588 27363 27375 I crime.securesm: Background concurrent copying GC freed 3164515(48MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 145us total 254.561ms
09-01 15:42:54.227 27363 27375 I crime.securesm: Background young concurrent copying GC freed 3144265(48MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 2.335ms total 163.527ms
09-01 15:42:59.233 27363 22682 I WebSocketConnection: [normal:120503640] Sending keep alive...
09-01 15:42:59.233 27363 22682 I WebSocketConnection: [unidentified:87203251] Sending keep alive...
09-01 15:42:59.239 27363 22682 W AlarmSleepTimer: Setting alarm to wake up in 55000ms.
09-01 15:43:01.613 27363 27402 W IncomingMessageObserver: Application level read timeout...
09-01 15:43:01.615 27363 27402 D IncomingMessageObserver: Network: true, Foreground: false, FCM: false, Censored: false, Registered: true, Websocket Registered: true, Proxy: false
09-01 15:43:01.615 27363 27402 D IncomingMessageObserver: Reading message...
09-01 15:43:08.003 27363 27375 I crime.securesm: Background concurrent copying GC freed 3152962(48MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 168us total 253.214ms
09-01 15:43:21.810 27363 27375 I crime.securesm: Background young concurrent copying GC freed 3125859(47MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 264us total 138.647ms
09-01 15:43:35.654 27363 27375 I crime.securesm: Background concurrent copying GC freed 3159111(48MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 935us total 203.475ms
09-01 15:43:49.457 27363 27375 I crime.securesm: Background young concurrent copying GC freed 3125756(47MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 1.018ms total 150.397ms
09-01 15:43:54.240 27363 22682 I WebSocketConnection: [normal:120503640] Sending keep alive...
09-01 15:43:54.240 27363 22682 I WebSocketConnection: [unidentified:87203251] Sending keep alive...
09-01 15:43:54.245 27363 22682 W AlarmSleepTimer: Setting alarm to wake up in 55000ms.
09-01 15:44:01.616 27363 27402 W IncomingMessageObserver: Application level read timeout...
09-01 15:44:01.617 27363 27402 D IncomingMessageObserver: Network: true, Foreground: false, FCM: false, Censored: false, Registered: true, Websocket Registered: true, Proxy: false
09-01 15:44:01.617 27363 27402 D IncomingMessageObserver: Reading message...
09-01 15:44:03.297 27363 27375 I crime.securesm: Background concurrent copying GC freed 3165355(48MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 167us total 276.166ms
09-01 15:44:17.115 27363 27375 I crime.securesm: Background young concurrent copying GC freed 3124634(47MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 283us total 164.807ms
09-01 15:44:31.042 27363 27375 I crime.securesm: Background concurrent copying GC freed 3170150(48MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 122us total 259.111ms
09-01 15:44:49.247 27363 22682 I WebSocketConnection: [normal:120503640] Sending keep alive...
09-01 15:44:49.247 27363 22682 I WebSocketConnection: [unidentified:87203251] Sending keep alive...
09-01 15:44:49.256 27363 22682 W AlarmSleepTimer: Setting alarm to wake up in 55000ms.
09-01 15:44:58.714 27363 27375 I crime.securesm: Background young concurrent copying GC freed 3135597(48MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 2.586ms total 159.891ms
09-01 15:45:01.619 27363 27402 W IncomingMessageObserver: Application level read timeout...
09-01 15:45:01.623 27363 27402 D IncomingMessageObserver: Network: true, Foreground: false, FCM: false, Censored: false, Registered: true, Websocket Registered: true, Proxy: false
09-01 15:45:01.623 27363 27402 D IncomingMessageObserver: Reading message...
09-01 15:45:12.581 27363 27375 I crime.securesm: Background concurrent copying GC freed 3164989(48MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 134us total 266.598ms
09-01 15:45:40.067 27363 27375 I crime.securesm: Background young concurrent copying GC freed 3143946(48MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 276us total 136.590ms
09-01 15:45:44.266 27363 22682 I WebSocketConnection: [normal:120503640] Sending keep alive...
09-01 15:45:44.266 27363 22682 I WebSocketConnection: [unidentified:87203251] Sending keep alive...
09-01 15:45:44.271 27363 22682 W AlarmSleepTimer: Setting alarm to wake up in 55000ms.
09-01 15:45:53.863 27363 27375 I crime.securesm: Background concurrent copying GC freed 3162912(48MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 120us total 264.168ms
09-01 15:46:01.625 27363 27402 W IncomingMessageObserver: Application level read timeout...
09-01 15:46:01.627 27363 27402 D IncomingMessageObserver: Network: true, Foreground: false, FCM: false, Censored: false, Registered: true, Websocket Registered: true, Proxy: false
09-01 15:46:01.627 27363 27402 D IncomingMessageObserver: Reading message...
09-01 15:46:21.449 27363 27375 I crime.securesm: Background young concurrent copying GC freed 3143242(48MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 1.790ms total 148.398ms
09-01 15:46:35.272 27363 27375 I crime.securesm: Background concurrent copying GC freed 3156683(48MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 119us total 212.400ms
09-01 15:46:39.278 27363 22682 I WebSocketConnection: [normal:120503640] Sending keep alive...
09-01 15:46:39.279 27363 22682 I WebSocketConnection: [unidentified:87203251] Sending keep alive...
09-01 15:46:39.288 27363 22682 W AlarmSleepTimer: Setting alarm to wake up in 55000ms.
09-01 15:46:49.009 27363 27375 I crime.securesm: Background young concurrent copying GC freed 3116686(47MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 263us total 146.829ms
09-01 15:47:01.628 27363 27402 W IncomingMessageObserver: Application level read timeout...
09-01 15:47:01.637 27363 27402 D IncomingMessageObserver: Network: true, Foreground: false, FCM: false, Censored: false, Registered: true, Websocket Registered: true, Proxy: false
09-01 15:47:01.637 27363 27402 D IncomingMessageObserver: Reading message...
09-01 15:47:02.825 27363 27375 I crime.securesm: Background concurrent copying GC freed 3166280(48MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 555us total 255.644ms
09-01 15:47:34.291 27363 22682 I WebSocketConnection: [normal:120503640] Sending keep alive...
09-01 15:47:34.291 27363 22682 I WebSocketConnection: [unidentified:87203251] Sending keep alive...
09-01 15:47:34.294 27363 22682 W AlarmSleepTimer: Setting alarm to wake up in 55000ms.
09-01 15:47:58.005 27363 27375 I crime.securesm: Background young concurrent copying GC freed 3142166(47MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 288us total 123.997ms
09-01 15:48:01.638 27363 27402 W IncomingMessageObserver: Application level read timeout...
09-01 15:48:01.638 27363 27402 D IncomingMessageObserver: Network: true, Foreground: false, FCM: false, Censored: false, Registered: true, Websocket Registered: true, Proxy: false
09-01 15:48:01.638 27363 27402 D IncomingMessageObserver: Reading message...
09-01 15:48:26.777 27363 27375 I crime.securesm: Background young concurrent copying GC freed 3139056(47MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 1.025ms total 150.438ms
09-01 15:48:29.302 27363 22682 I WebSocketConnection: [normal:120503640] Sending keep alive...
09-01 15:48:29.302 27363 22682 I WebSocketConnection: [unidentified:87203251] Sending keep alive...
09-01 15:48:29.308 27363 22682 W AlarmSleepTimer: Setting alarm to wake up in 55000ms.
09-01 15:48:31.161 27363 27363 I JobManager: onConstraintMet(ChargingConstraintObser)
09-01 15:48:41.001 27363 27375 I crime.securesm: Background concurrent copying GC freed 3150884(48MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 158us total 252.335ms
09-01 15:49:01.640 27363 27402 W IncomingMessageObserver: Application level read timeout...
09-01 15:49:01.644 27363 27402 D IncomingMessageObserver: Network: true, Foreground: false, FCM: false, Censored: false, Registered: true, Websocket Registered: true, Proxy: false
09-01 15:49:01.644 27363 27402 D IncomingMessageObserver: Reading message...
09-01 15:49:24.310 27363 22682 I WebSocketConnection: [normal:120503640] Sending keep alive...
09-01 15:49:24.311 27363 22682 I WebSocketConnection: [unidentified:87203251] Sending keep alive...
09-01 15:49:24.319 27363 22682 W AlarmSleepTimer: Setting alarm to wake up in 55000ms.
09-01 15:49:38.471 27363 27375 I crime.securesm: Background young concurrent copying GC freed 3135963(47MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 541us total 122.937ms
09-01 15:49:52.795 27363 27375 I crime.securesm: Background young concurrent copying GC freed 3132178(47MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 452us total 157.609ms
09-01 15:50:01.644 27363 27402 W IncomingMessageObserver: Application level read timeout...
09-01 15:50:01.646 27363 27402 D IncomingMessageObserver: Network: true, Foreground: false, FCM: false, Censored: false, Registered: true, Websocket Registered: true, Proxy: false
09-01 15:50:01.646 27363 27402 D IncomingMessageObserver: Reading message...
09-01 15:50:06.613 27363 27375 I crime.securesm: Background concurrent copying GC freed 3153749(48MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 141us total 219.078ms
09-01 15:50:19.320 27363 22682 I WebSocketConnection: [normal:120503640] Sending keep alive...
09-01 15:50:19.320 27363 22682 I WebSocketConnection: [unidentified:87203251] Sending keep alive...
09-01 15:50:19.327 27363 22682 W AlarmSleepTimer: Setting alarm to wake up in 55000ms.
09-01 15:50:20.410 27363 27375 I crime.securesm: Background young concurrent copying GC freed 3118110(47MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 1.162ms total 173.218ms
09-01 15:50:34.257 27363 27375 I crime.securesm: Background concurrent copying GC freed 3168379(48MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 171us total 272.824ms
09-01 15:50:48.075 27363 27375 I crime.securesm: Background young concurrent copying GC freed 3124323(47MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 279us total 159.340ms
09-01 15:51:01.647 27363 27402 W IncomingMessageObserver: Application level read timeout...
09-01 15:51:01.649 27363 27402 D IncomingMessageObserver: Network: true, Foreground: false, FCM: false, Censored: false, Registered: true, Websocket Registered: true, Proxy: false
09-01 15:51:01.649 27363 27402 D IncomingMessageObserver: Reading message...
09-01 15:51:01.961 27363 27375 I crime.securesm: Background concurrent copying GC freed 3170432(48MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 113us total 274.034ms
09-01 15:51:14.327 27363 22682 I WebSocketConnection: [normal:120503640] Sending keep alive...
09-01 15:51:14.328 27363 22682 I WebSocketConnection: [unidentified:87203251] Sending keep alive...
09-01 15:51:14.333 27363 22682 W AlarmSleepTimer: Setting alarm to wake up in 55000ms.
09-01 15:51:14.334 27363 27363 W AlarmSleepTimer: Waking up.
09-01 15:51:29.589 27363 27375 I crime.securesm: Background young concurrent copying GC freed 3142976(48MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 722us total 169.663ms
09-01 15:51:43.428 27363 27375 I crime.securesm: Background concurrent copying GC freed 3162216(48MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 386us total 258.683ms
09-01 15:52:01.650 27363 27402 W IncomingMessageObserver: Application level read timeout...
09-01 15:52:01.652 27363 27402 D IncomingMessageObserver: Network: true, Foreground: false, FCM: false, Censored: false, Registered: true, Websocket Registered: true, Proxy: false
09-01 15:52:01.652 27363 27402 D IncomingMessageObserver: Reading message...
09-01 15:52:09.337 27363 22682 I WebSocketConnection: [normal:120503640] Sending keep alive...
09-01 15:52:09.338 27363 22682 I WebSocketConnection: [unidentified:87203251] Sending keep alive...
09-01 15:52:09.343 27363 22682 W AlarmSleepTimer: Setting alarm to wake up in 55000ms.
09-01 15:52:09.346 27363 27363 W AlarmSleepTimer: Waking up.
09-01 15:52:10.951 27363 27375 I crime.securesm: Background young concurrent copying GC freed 3135035(48MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 281us total 146.012ms
09-01 15:52:24.748 27363 27375 I crime.securesm: Background concurrent copying GC freed 3145484(48MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 168us total 172.417ms
09-01 15:52:38.488 27363 27375 I crime.securesm: Background young concurrent copying GC freed 3123677(47MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 436us total 138.102ms
09-01 15:52:52.397 27363 27375 I crime.securesm: Background concurrent copying GC freed 3177585(48MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 162us total 275.128ms
09-01 15:53:01.653 27363 27402 W IncomingMessageObserver: Application level read timeout...
09-01 15:53:01.656 27363 27402 D IncomingMessageObserver: Network: true, Foreground: false, FCM: false, Censored: false, Registered: true, Websocket Registered: true, Proxy: false
09-01 15:53:01.656 27363 27402 D IncomingMessageObserver: Reading message...
09-01 15:53:04.342 27363 22682 I WebSocketConnection: [normal:120503640] Sending keep alive...
09-01 15:53:04.342 27363 22682 I WebSocketConnection: [unidentified:87203251] Sending keep alive...
09-01 15:53:04.348 27363 22682 W AlarmSleepTimer: Setting alarm to wake up in 55000ms.
09-01 15:53:04.351 27363 27363 W AlarmSleepTimer: Waking up.
09-01 15:53:06.151 27363 27375 I crime.securesm: Background young concurrent copying GC freed 3116613(47MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 300us total 162.213ms
09-01 15:53:19.966 27363 27375 I crime.securesm: Background concurrent copying GC freed 3168875(48MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 126us total 263.672ms
09-01 15:53:47.508 27363 27375 I crime.securesm: Background young concurrent copying GC freed 3143307(48MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 445us total 167.878ms
09-01 15:53:59.348 27363 22682 I WebSocketConnection: [normal:120503640] Sending keep alive...
09-01 15:53:59.349 27363 22682 I WebSocketConnection: [unidentified:87203251] Sending keep alive...
09-01 15:53:59.356 27363 22682 W AlarmSleepTimer: Setting alarm to wake up in 55000ms.
09-01 15:54:01.256 27363 27375 I crime.securesm: Background concurrent copying GC freed 3159632(48MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 155us total 274.681ms
09-01 15:54:01.657 27363 27402 W IncomingMessageObserver: Application level read timeout...
09-01 15:54:01.660 27363 27402 D IncomingMessageObserver: Network: true, Foreground: false, FCM: false, Censored: false, Registered: true, Websocket Registered: true, Proxy: false
09-01 15:54:01.660 27363 27402 D IncomingMessageObserver: Reading message...
09-01 15:54:15.009 27363 27375 I crime.securesm: Background young concurrent copying GC freed 3123071(47MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 270us total 146.349ms
09-01 15:54:28.884 27363 27375 I crime.securesm: Background concurrent copying GC freed 3171230(48MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 439us total 266.170ms
09-01 15:54:54.354 27363 22682 I WebSocketConnection: [normal:120503640] Sending keep alive...
09-01 15:54:54.355 27363 22682 I WebSocketConnection: [unidentified:87203251] Sending keep alive...
09-01 15:54:54.357 27363 22682 W AlarmSleepTimer: Setting alarm to wake up in 55000ms.
09-01 15:54:54.360 27363 27363 W AlarmSleepTimer: Waking up.
09-01 15:54:56.371 27363 27375 I crime.securesm: Background young concurrent copying GC freed 3133529(47MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 719us total 160.437ms
09-01 15:55:01.661 27363 27402 W IncomingMessageObserver: Application level read timeout...
09-01 15:55:01.664 27363 27402 D IncomingMessageObserver: Network: true, Foreground: false, FCM: false, Censored: false, Registered: true, Websocket Registered: true, Proxy: false
09-01 15:55:01.664 27363 27402 D IncomingMessageObserver: Reading message...
09-01 15:55:10.177 27363 27375 I crime.securesm: Background concurrent copying GC freed 3165386(48MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 121us total 269.723ms
09-01 15:55:23.950 27363 27375 I crime.securesm: Background young concurrent copying GC freed 3125799(47MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 299us total 144.555ms
09-01 15:55:37.691 27363 27375 I crime.securesm: Background concurrent copying GC freed 3151406(48MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 161us total 170.509ms
09-01 15:55:49.357 27363 22682 I WebSocketConnection: [normal:120503640] Sending keep alive...
09-01 15:55:49.358 27363 22682 I WebSocketConnection: [unidentified:87203251] Sending keep alive...
09-01 15:55:49.360 27363 22682 W AlarmSleepTimer: Setting alarm to wake up in 55000ms.
09-01 15:55:49.362 27363 27363 W AlarmSleepTimer: Waking up.
09-01 15:56:01.666 27363 27402 W IncomingMessageObserver: Application level read timeout...
09-01 15:56:01.668 27363 27402 D IncomingMessageObserver: Network: true, Foreground: false, FCM: false, Censored: false, Registered: true, Websocket Registered: true, Proxy: false
09-01 15:56:01.668 27363 27402 D IncomingMessageObserver: Reading message...
09-01 15:56:18.990 27363 27375 I crime.securesm: Background young concurrent copying GC freed 3142066(47MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 480us total 139.378ms
09-01 15:56:32.754 27363 27375 I crime.securesm: Background concurrent copying GC freed 3152125(48MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 159us total 191.137ms
09-01 15:56:44.364 27363 22682 I WebSocketConnection: [normal:120503640] Sending keep alive...
09-01 15:56:44.365 27363 22682 I WebSocketConnection: [unidentified:87203251] Sending keep alive...
09-01 15:56:44.373 27363 22682 W AlarmSleepTimer: Setting alarm to wake up in 55000ms.
09-01 15:56:46.449 27363 27375 I crime.securesm: Background young concurrent copying GC freed 3116968(47MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 387us total 140.793ms
09-01 15:57:00.188 27363 27375 I crime.securesm: Background concurrent copying GC freed 3150050(48MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 119us total 170.433ms
09-01 15:57:01.669 27363 27402 W IncomingMessageObserver: Application level read timeout...
09-01 15:57:01.671 27363 27402 D IncomingMessageObserver: Network: true, Foreground: false, FCM: false, Censored: false, Registered: true, Websocket Registered: true, Proxy: false
09-01 15:57:01.671 27363 27402 D IncomingMessageObserver: Reading message...
09-01 15:57:27.714 27363 27375 I crime.securesm: Background young concurrent copying GC freed 3143033(48MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 624us total 167.790ms
09-01 15:57:39.375 27363 22682 I WebSocketConnection: [normal:120503640] Sending keep alive...
09-01 15:57:39.376 27363 22682 I WebSocketConnection: [unidentified:87203251] Sending keep alive...
09-01 15:57:39.383 27363 22682 W AlarmSleepTimer: Setting alarm to wake up in 55000ms.
09-01 15:57:41.445 27363 27375 I crime.securesm: Background concurrent copying GC freed 3153917(48MB) AllocSpace objects, 0(0B) LOS objects, 66% free, 24MB/72MB, paused 170us total 251.596ms
tw-hx commented 3 years ago

Actually, since the recent websocket refactoring in 5.17 and 5.19: https://github.com/signalapp/Signal-Android/commit/5d6d78a51e007142b8d58a36feeaafcb01262949 https://github.com/signalapp/Signal-Android/commit/712b0c147a8d4d4b5fc8f2bbb506bc62f33518ae

I've found battery drain to have improved over the day versus before. Thanks, Cody and the Signal team!

nthiery commented 2 years ago

Just as another data point: I face the same issue with my Fairphone 3+ with /e/ os, android 10, and Signal 5.17.3. Upgrading to Signal 5.19 is not yet offered by Apps. Crossing fingers that this will improve the situation!

3hhh commented 2 years ago

SuperfreezZ [1] and similar apps help, but will of course disable push notifications and cause some inconveniences elsewhere.

[1] https://f-droid.org/en/packages/superfreeze.tool.android/

sir-skipper commented 2 years ago

@3hhh I've noticed that GCM isn't registering Signal since version 4.77.3... What's the process of forcing new versions to use it? I mean do you go through the whole phone number registration process, and then set the pref_gcm_disabled flag to false, or is there anything else you do?

3hhh commented 2 years ago

Just setting pref_gcm_disabled = false and restarting the app did it for me in the past, but for some reason didn't show it in my GCM. No need to re-register until Signal forgets who you are (which happened after 3-4 weeks for me).

Raphos commented 2 years ago

Hi, This issue is open since 11 Jun 2020 and the battery drain still persists on 5.25.7 version. Is there a chance to see a fix one day ?

Anonymous2716 commented 2 years ago

But why can't optimize battery usage?

UserX404 commented 2 years ago

@Anonymous2716 Because the OS kills the background task so signal couldn't be notified about new messages.

Anonymous2716 commented 2 years ago

@UserX404 That I get it. But many message apps I can disable and enable battery optimization.

UserX404 commented 2 years ago

@Anonymous2716 Afaik when using Signal as sms app, the sms app couldn't be optimized.

Bourjois commented 2 years ago

67% battery usage on my phone. It's absurd.

stale[bot] commented 2 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

c-b5r commented 2 years ago

FYI: I updated to LineageOS 19.1 (Android 12) WITHOUT Google Play Services and the battery drain is disappeared ...

elmo667 commented 2 years ago

battery drain problem still persists (Android 12 GrapheneOS here with GCM installed). Sadly the above pref_gcm_disabled trick is not possible here because Signals preferences file is not available without root.

Im showing 30-40% battery drain from Signal on a full charge without actually using Signal on that charge cycle. Its the background activity alone...

RalfJung commented 2 years ago

It is pretty impressive how Signal, even when 'background activity' is restricted (i.e., at seriously reduced functionality), uses more than 10x the amount of battery than other messaging applications. GCM is disabled entirely on my phone, so it looks like Signal just has a really bad implementation of push notifications, which other apps (e.g. Conversations, Telegram) do much better. This is on LineageOS 18.

It also looks like Signal developers do not give much priority to providing a good experience for users that want to avoid their phone connecting to Google servers all the time. So much for 'private' communication. :(

stale[bot] commented 2 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

RalfJung commented 2 years ago

This is still a problem.

zmetzing commented 2 years ago

Pixel 6a, GrapheneOS Android 13, no Google Play services or GSF installed (nor will ever be), Signal 5.49.3 (1123, 112302) (d2f639c) .

Signals is the #1 user of my battery, and will gleefully eat > 50% of capacity if allowed to run "Optimized".

It will get Uninstalled pretty soon due to this issue. I really love the privacy, but I want my battery to last more than a day (which it will -- 3, in fact -- when not using Signal).

gryban1 commented 1 year ago

Same problem here with my Pixel 5 and GrapheneOS. Some versions ago this problem was not present, but I don't know with witch version the problem appeared.

Maybe Android 13 is causing this issue?

magical-heyrovsky commented 1 year ago

I've recently upgrade from a Motorola Moto G7 with LineageOS 19.1 (Android 12.X) to a Pixel 6a with GrapheneOS (Android 13). Both with no Google Play services or GSF. I didn't have this problem before, but now with the Pixel 6a and GrapheneOS Signal takes up to 30% of the overall battery consumption (if set to "unrestricted" or "optimized").

I also use Threema (https://threema.ch) on the same phone and although it's also "always running" it barely uses any battery compared to Signal.

gryban1 commented 1 year ago

Is there a way to mark this issue as high priority? When privacy forces me to buy a new phone every year (because battery is down) it goes against my interest to keep things alive as long as possible and don't waste things.

Raphos commented 1 year ago

Is there a way to mark this issue as high priority? When privacy forces me to buy a new phone every year (because battery is down) it goes against my interest to keep things alive as long as possible and don't waste things.

Hahaha, funny !

Did you see when this discussion was opened ?

I think this is the last of their priority !

We are just a few people using custom roms...

Bean-Beret commented 1 year ago

True, but as signal calls privacy it's no. 1 feature, I still think that it should be fixed for de-googled phones at some point... The "acknowledged" tag was added 2.5 months ago, which got my hopes up a bit. I got used to using the fork with the makeshift fix of requesting new messages on timer intervals, which was actually inspired by Threemas workaround back then. Meanwhile, Threema added a very similar mechanism to stay always on, without using a lot of battery. So it has to be technically possible.

maxammann commented 1 year ago

I've recently upgrade from a Motorola Moto G7 with LineageOS 19.1 (Android 12.X) to a Pixel 6a with GrapheneOS (Android 13). Both with no Google Play services or GSF. I didn't have this problem before, but now with the Pixel 6a and GrapheneOS Signal takes up to 30% of the overall battery consumption (if set to "unrestricted" or "optimized").

I also use Threema (https://threema.ch) on the same phone and although it's also "always running" it barely uses any battery compared to Signal.

I have the same setup and about 15% usage. Still too high probably.