[Magisk] EarlyMon:
I'm going to give the technical answer and then I'm going to give the easy answer. It's OK if you want to skip down to the easy answer. I'm not going to give a test on the technical part. ;) :)

Technical Answer

Running out of memory is not desirable but it is unavoidable - no one has an infinite amount of RAM. Operating systems deal with that by what we call memory management. Android inherits Linux memory management and even improves on it. Memory management is too sophisticated to explain in a post but we can cover the important part - what does "not enough memory" mean and what happens when there is not enough memory?

On Android, all you really need is to be happy running the app you're looking at at the time (right now, it's to read this) and essential apps running in the background, behind the scenes, under the hood. While you are reading this, your music player should still work and you should still be able to get messages and receive phone calls. That implies a whole lot of technical details like hardware and network management but let's just lump it all together and say that's part of our "app point of view." It's true enough and not wrong. Let's add some other expectations - maybe you want to also download a movie for later right now while you are reading this. That's through an app in the background. Maybe something else you find critical.

That's multitasking. Anything beyond the essential is a luxury and often desirable if you can afford a phone with more RAM to get it.

What happens when you run out of memory? Something has to go. And essential services cannot just up and disappear so memory management software kicks in. It winds things down in the background in stages. If higher priority it can keep the last known state recorded in storage so that you can pick up where you left off when you return to it.

Android has been doing that since the beginning.

In KitKat, Google introduced zram support. It was intended as a safety net for phones with little RAM. Remember, 2 GB was a deluxe feature in those days. The purpose of zram was to carve out some of the RAM and use it like a FAST storage disk to extend part of the working area just for memory management. And it's possible because it uses compression and it is perfectly OK for you to think about that just like using WinZip for every bit you put in or take out of that area. (It uses something better for the job than WinZip but for the purpose of understanding, don't worry about the small details. The WinZip analogy is perfectly fine.)

With computers as with so many things, we have a good rule called TANSTAAFL - there ain't no such thing as a free lunch.

The TANSTAAFL with zram is that at minimum, it will slow everything down - that constant zipping and unzipping doesn't do itself. There's no dispute about this and I can provide references to Google saying so too (along with everyone else in the operating system industry about zram).

And my experience, shared with many others over the years, is that the other part of the zram TANSTAAFL is that you can and will get other performance degradations as I described in the first post.

To those who would argue that Google knows more about this than me - OK. To a small extent I accept that is true, at least I hope so. But let's also remember that this is the same company who adds stickers instead of fixing messaging and who can't figure out why most everyone hates the basic changes they put into Wear 2.0, and I have a long list of other examples.

Zram on Android is a last resort when you really don't have enough memory and (according to Google) you've done everything else like adjust your out of memory limits (if you must).

There is NO excuse for it on a phone with enough memory.

But Google went and put it on the 4 GB Pixel! So it is too good and how small is small must have changed?

That's what the other manufacturers insist on and I know it for a fact because I've spoken to R&D with several of them - Google does it, shut up, it's good!

Except no it's not. A proportionally small zram will get sucked up and used by the kernel to speed boot up and after that, you're on your own. Everyone with a high end phone who reboots it every day or two to restore speed, and that's a lot of people, including Nexus and Pixel owners, are simply clearing up the fragmented zram that is running slower and slower.

As a last resort, on a small memory device, try zram and see if you like it.

Personally I have not been able to stand it on anything with 2 GB or above.

Easy Answer

I didn't forget, here's the easy answer. :)

I can go on for pages with my technical opinion but I'm not perfect and every once in a GREAT while, someone comes along with a use case that says, ok, this time zram is ok.

And the easy answer is this module.

It costs nothing to try and it will not damage anything.

If you have any doubt, try it. If you do not notice a difference, try it for a few days without rebooting.

Go back and forth if you want. That's harmless.

I predict that you will see a positive difference.

And some of you may notice no difference. Leave it in place. Your CPUs will be silently thanking you for lowering the workload.

If it seems better with zram then stop and do what Google recommends - try adjusting your out of memory (OOM) limits first. There are many apps that can help you with that.

And only if that doesn't help and you're sure that you are not the victim of a bad app - then go ahead and uninstall the module.

Use zram as a last resort, just like it was intended to be.

And no matter what, do NOT use task killers or RAM cleaners.

Android knows what to do. That crap just confuses it.