Just to clarify this a bit more. When you say “remove”, it has two meanings.
-
get it off the screen so the next scene will show properly
-
get rid of the objects from memory completely because I’m done with them.
Composer (and previously Storyboard) do both of these. For the first one, yes, this is basically hiding the one scene and exposing the other. Things in the scene’s view group will be transitioned off screen for the scene that’s going away and the new scene will be shown with the items in that scene’s view group. In the case of a fade or crossFade (and a few other transition options), the new scene will simply be drawn on top of the old scene. This is by design.
Now we don’t “remove” them from memory (in storyboard terms “Purge”) because we assume you want to go back to that scene at some point and it’s more efficient to use up some memory than it is to construct the scene from scratch every time. So not “removing” the items from memory is a desired feature. We do have API calls like storyboard.purgeScene() and storyboard.removeScene() (or for Composer, just composer.removeScene()) that will take any objects in the scene being removed from memory and it removes those objects for you. But you do have to put them in the scene’s view group to be managed.
Rob