On Mon, Jan 6, 2020 at 8:52 PM Roberto Ragusa <mail@robertoragusa.it> wrote:
On 2020-01-06 18:31, Kamil Paral wrote:

> FWIW, the behavior on Android is very close to what is proposed here. If your application exceeds the amount of available memory, it simply closes right in front of your eyes. No explanation, nothing, it's just gone (might be different on latest Android versions). The same thing would happen with EarlyOOM - some application would disappear.
>

The analogy is not completely fair.
On Android applications are designed to be Started and Stopped by the system, and they are supposed to save
their entire state so that when restarted nothing has apparently happened, from the point of view of the user.
(many applications are badly written, but that's another story...)
And we are talking about background applications, on a system where only one application is in foreground
(only very recently you can have two applications in foreground).
Finally, it is the applications that are stopped (by asking them nicely trough an event), not general system
processes; Android would never kill a wpa_supplicant process, for example.

Android has a concept of "cache" of background applications, they are there, if possible,  just to have them
back very quickly; it is similar to how Linux keeps dirty disk content in RAM and pushes it to disk
when RAM must be freed.

Sure, Android is quite a different world, I'm not saying the comparison applies 1:1. But the end-effect is similar - a window just disappears. And it's even less obvious why it happened, because you don't have any swap and therefore you haven't gone through any performance degradation. That's all I wanted to note. (Also, I'm also skeptical about the app saving state before being killed, because it already went out of memory and can't function properly. But let's not go off-topic.)