I got my hands on a Macbook and I run many tests on Xcode connected directly to the iOS device. So long for the "create games without any programming skills" concept"....
The memory graph helped me to do some further optimization on the assets and most games are now functional on the iOS device, if accessed upon app launch .
But when navigating from game to game the memory load builds up and once it hits ~235Mb, it crashes with a "memory pressure" message. (I run the tests on a 512Mb RAM iPad mini since my pre-ordered app has to run on such devices).
According to the tests described below, even if the app will be limited to 1Gb RAM devices, it will still crash when loading few more layouts (more games or more screens within a game, I have more than 70 game layouts in my app).
The official Ejecta template was used to create the test app.
https://dl.dropboxusercontent.com/u/8918895/Full%202.1%20shrink.zip - This is a copy of the App Folder I used in Xcode, if you care to reproduce the test or run any other tests.
And this is a diagram of the app structure, so it is easier to follow my tests.
Web version of the app can be found here http://www.malanapps.com/klalit/
(I can't publish the capx since the client owns the app code. I can share it by PM if you wish).
The tendency of all the test graphs upwards (A-B), with no effective clearing is very obvious.
This test shows that when returning to the same layout (outdoors lobby) over and over, memory usage of this layout goes up constantly (sections 1,2,3).
TEST 2 shows that when returning to a layout that was used before, utilizes more memory than it did at first entry (sections 1 & 2)
TEST 3 shows that even while navigating back and forth between two layouts the memory usage still goes up (1,2,3)
Some Garbage Collection is happening from time to time (yellow stars) BUT it is not really effective as it is very minor and rare
There is a very small headroom left for additional optimization by sizing down the assets (I already have pic quality issues on the iPad). So I wonder what my next step should be
The responsibility for memory management and garbage collection falls between Scirra and Ejecta and we are stuck in the middle.... Is this going to be the big break for C2 on iOS or is it going to be a "re-run" of the frustrating C2-CocoonJS situation??? I am wondering... and hoping for the best...
EDIT: I have posted the same issue at phooslab https://github.com/phoboslab/Ejecta/issues/401
Ashley - Are there any specific log files that may help to resolve this issue