Code your boolean variables. I give you an example:
assume 32 bool variables are in list: 1001001100101100000001011010010
If you want to save all these variables in memory without coding them, you should use at least 10 bytes, but by using a simple coding algorithm you can save significant amount of your memory. A simple suggestion algorithm for these 32 boolean variables is to save them as a 32bit int =1234567890. In this way memory usage will slake to 4 bytes only!
It is natural than coding of every data needs processing it, so CPU usage will be increase instead of memory usage.