I am in two minds on how to handle this, I am working on a little manager class that controls game state and screens and just wondering if it is a bad idea to keep screens in memory?
There is no probem with that as long as your screens do not do something exceptional that requires a huge load of memory. Just don´t update them. I use a Stack of screens in which I just update the topmost one. Its nice & simple, and works like a charm.
Hm right at the moment I only have 3 screens, MainMenu, Options and Play. They will be stored within a nested inner class in the Manager class, any other way you recommend in doing this?
I simply pass the Manager into pretty much every constructor that requires it, so anything that can alter the game state or screen.