Hi all,
The new Ejecta exporter for iOS currently suffers the same problem as CocoonJS: it will try to load everything on startup, which makes large games take ages to start and possibly crashed if it ran out of memory. Thankfully Ejecta is open source so it can be hacked to the way we want it to work!
I've come up with a first implementation of memory management for Ejecta. I don't have a lot of experience with iOS development or Objective-C, but I got it working for Space Blaster. However it's important to get real-world testing to make sure it works for everyone's games, many of which are much bigger and more complicated!
To try it out, download the Ejecta source from my fork here and compile with these files instead:
(Link removed 20th June 2014. Our code was subsequently merged in to Ejecta so there is no separate repository any more. The main code is available as always from https://github.com/phoboslab/Ejecta)
In WebGL mode it should have full memory management support, and should be able to release textures from the old layout when moving to a new one. However canvas2d mode in Ejecta still doesn't support least-recently-used eviction like real browsers do, so it won't release textures. As you move through the game it will still accumulate everything in memory and may end up crashing still. Support for this could be added, but I'm not sure why you'd want to disable WebGL mode anyway.
If it's broken, it might crash, in which case the text of the error log should be useful. Hopefully though your games will start up a lot faster, and use less memory. I'm especially interested in feedback if your game previously crashed on startup, or suffered annoyingly long loading times - let me know how it works!