And I don’t mean just Google’s Android. Every single iteration. With their stupid memory management for PoWeR sAvInG.
I was typing up a rant on how incredibly boring and stupid Disclosure Day was when I just quickly switched to Firefox to look up a character’s name when Android decided that I was done using my Lemmy client and just outright killed it without even giving it enough time to save my comment to drafts, like it usually does.
You can never be sure when you leave an app whether it will continue doing what it’s supposed to or if it will be frozen or killed.
I’ve got 4 GB of RAM and multiple CPU cores. That should be enough to run a dozen apps in parallel. My frickin N900 with 128 MB had better multitasking than a modern Android smartphone!


Sadly that’s an almost unusable amount these days. The OS will use half of that just sitting idle, and Google Play Services will use a fifth of the remainder (you can enable Developer Mode and view running services to see this yourself). 4 gigs is solidly in the “only one or two apps open at a time” range.
(It doesn’t help that every Android app includes its own separate copies of all its libraries and dependencies for compatibility reasons. There’s no such thing as a lightweight app without going out of your way to avoid the normal development ecosystem)
Android also doesn’t use swap (storing unused/rarely accessed memory contents on the disk for later), instead shifting stale memory pages to a compressed block in RAM (zram), so once it starts filling up with cached background apps it has to start killing apps or the system will hang. The less RAM you have, the sooner this will happen, and both Lemmy clients and web browsers use a ton of RAM.
Years ago a friend of mine actually enabled swap on a MicroSD. It worked, no idea for how long, though. That type of memory isn’t reliable enough to handle this.
Even setting aside the wear and tear issues with flash storage, swap and zram sadly don’t play nice together. Zram will fill up with stale memory while swap gets the fresh stuff, which is the exact opposite of what you want and causes awful performance problems.