Yo tengo ext4, script int2ext, sin swap, y uso zram (lo mismo pero más rápido).
Swap y zram, en síntesis, son la misma cosa: memoria virtual que usa el sistema para escribir cuando no le queda espacio suficiente en la memoria ram.
Lo que pasa es el intercambio swap, además de afectar directamente a la duración de la tarjeta microsd (que tiene de fábrica un número determinado de ciclos de lectura y escritura, y cuando los alcanza, aunque la tarjeta esté bien, el chip interno dice que todo se acabó) es mucho más lento que zram.
Cuando a android le falta ram, y dispone de un espacio de intercambio pasa lo siguiente:
- Si el espacio de intercambio es una partición swap --> Vuelca datos desde la memoria ram a la partición, y luego los lee. Como todos sabemos, la memoria más rápida es la RAM, infinitamente más veloz que cualquier soporte físico, como pueden ser discos duros o particiones en la tarjeta de memoria. Con esa diferencia de velocidad, tendremos un buen cuello de botella.
- Si el espacio de intercambio es zram --> El sistema operativo comprime datos dentro de la misma memoria RAM, y como esta es muy rápida, esta operación apenas se nota en el rendimiento (solo unas décimas en un test benchmark de memoria). Esta compresión se realiza de manera totalmente transparente para el usuario.
Es como si hubiésemos ampliado la memoria del equipo.