2

Windows has the ability (disabled by default) to hibernate the entire SO. It does it by saving the entire RAM to disk and then restoring it. When hibernating there is no power consumption, unlike when in a suspended state.

Android doesn't have that ability and I would like to better understand why. There is usefulness to it and it's virtually impossible that no one thought of implementing it, so I would assume the reason must be technical.

  • Besides that it would speed up the "boot" process after restoring from hibernate I don't think regular users would have much advantage. Additionally ARM CPUs are really good in saving power while they are idle (especially compared to an x86 CPU) so that nobody saw a need for a hibernate mode. Furthermore a hibernate mode would require to reserve flash storage e.g. as a special partition which would be wasted for users who don't use hibernate. – Robert Sep 16 '22 at 15:12
  • 2
    Android runs Linux kernel. And Linux kernel supports both sleep to RAM and sleep to disk. Android uses enhanced S2RAM (doze) to save power and disables S2Disk (at bootloader, kernel and userspace level) on purpose as mostly Android devices are meant to be always running unlike PCs. Additionally hibernation needs persistent storage as Robert mentioned - a file or a partition. So saving the whole RAM snapshot to flash storage at every hibernate kills it more quickly as eMMC / UFS on phones have very limited R/W cycles. Android uses zRAM in place of swap for the same reason. – Irfan Latif Sep 16 '22 at 15:35

0 Answers0