16 pointsby rpgbr6 hours ago3 comments
  • vintagedave6 hours ago
    Unfortunately the article doesn't answer the question. I was hoping for an investigation.

    Whatsapp is #4 in battery usage on my phone, and has spent more time in background mode (9 minutes) than active (6 minutes.) Not nearly as bad as the author but I have to admit, I don't understand why it could spend anywhere near that much time doing anything. All it needs to do is be sent a new message.

    • sparqlittlestar2 hours ago
      I believe I read somewhere that WhatsApp gets awoken by a silent notification with the cyphertext from the Notification Service, which it then needs to decrypt before generating a local notification that actually gets displayed to the user. This was due to e2e, as/so the Notification Service can't have the plain text.

      Edit: as a possible explanation for the battery drain?

    • kees996 hours ago
      > All it needs to do is be sent a new message.

      Receiving a message in a timely manner, is far more energy-intensive, for two reasons:

      - modern Internet, with nearly universal deployment of NAT, is such that any app (or phone OS, for that matter) can only make outbound connections. That is, to receive, it must keep making outbound requests to the server, constantly asking "is there a message for me?";

      - modern android (and iOS too) has some pretty aggressive algorithms/rules to identify apps that can be safely suspended (i.e. denied the right to run in background). One such rule is "no activity within X amount of time". So, ironically, app has to waste CPU cycles to convince OS to keep it running.

      There is an OS-level mechanism in both Android and iOS to avoid the second problem above, by the way of OS doing the polling (so-called "push notifications"), but there are their own dragons there, so many apps out out.

      • interactivecode5 hours ago
        The correct way to deliver notifications is through push notifications. On mobile platforms it will wake up the device, wake up the app and handle the notification. No matter if your app is backgrounded, completely quit or open. It's actually really cool and efficient.

        It's the low quality code from whatsapp and meta that's causing the battery usage doing all sorts of bad patterns like like constant outbound requests. So many apps like telegram don't have the same issues and are also just as responsive.

  • ZephyrOhm6 hours ago
    It doesn't for my devices... Its quite efficient in my experience.
  • 3dedb728-3f774 hours ago
    Is there a way to always force stop apps?

    I got the same problems using Discord. It can take over 40% of a 4100mAh battery each day.

    • rpgbr3 hours ago
      Opening the multitasking screen and swiping up the app force stops it, I guess.