How does sleep really work in the Android kernel?

I’ve been wondering about this for a while, but couldn’t find anything about it. What exactly happens after the screen turns off? Does the kernel actually suspend and halt the CPU? If so, how are notifications received while sleeping? Is there a coprocessor involved?

I’m curious. It would be great if someone could point me towards some articles or videos about this.

@[email protected] @[email protected] @[email protected] @[email protected] #android #linux #kernel #sleep #suspend

  • Felix Urbasik@ma.fellr.netOP
    link
    fedilink
    arrow-up
    2
    ·
    1 year ago

    @Lojcs You think so? It must do something on the hardware level. If you install something like @postmarketos and let the deivce just sit doing nothing with its screen off, the battery doesn’t last nearly as long as with Android. There must be some trickery going on…

    • Melody Fwygon@lemmy.one
      link
      fedilink
      arrow-up
      8
      ·
      1 year ago

      Your mobile device cannot sleep like your desktop can.

      It can however, sleep it’s own way. Typically this involves CPU throttling. Android does enter a “Deep Sleep” state, minimizing all power consumption, and even switching it’s CPU to a completely idle state where it only periodically “wakes” to handle synchronization and other needed tasks.

      https://developer.android.com/training/monitoring-device-state/doze-standby

    • ReversalHatchery@beehaw.org
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      Earlier I’ve read that it only keeps a single CPU core as active, at least for most of the time sleeping. But take this with a grain of salt, it was long ago so I may misremembered it, and also it might have changed a lot since then, but afaik this was a technique they once used (and may still do)