06-01-2023, 06:41 PM
There is a difference between suspending tasks when they are idle (which is what a standard multitasking operating system does), and hibernating tasks (forcing them to save their state and terminating them) whenever they are not the current fullscreen application (what Android does). On Plasma Mobile or Phosh, applications are also normally always maximized, but the invisible applications are not hibernated, they are still running in the background and decide on their own whether they are idle or not. (If they are idle, they will call some syscall to wait for a relevant event, causing the kernel to suspend them until the event happens, but when that wake up happens or whether they go into the idle state at all is up to them. The background applications can also continue doing computations, letting the preemptive scheduler in the kernel schedule their thread(s) along with the current application's thread(s).)