Free up background memory used by the App Shell when games are running

As a Roblox developer, it is tricky to optimize the memory consumption of our games on lower-end mobile devices.

We’ve been working on a map for our game that, at least for my 5th-gen iPad, is currently sitting on a razor’s edge with its memory consumption. If it exceeds roughly 1400-1500 MB, then the Roblox app crashes.

We do use streaming and lots of other optimization techniques, and while it has certainly helped, I think it could look better.

On my desktop this level takes up 900 MBs, but it takes up 1300 MB on my mobile device.



I believe this discrepancy emerges from memory consumption overhead that is held over from the AppShell DataModel. It seems like it’s kept on standby when a game is running instead of being free’d from memory.

If at all possible, it would be awesome if most/all of this background memory could be deallocated while a game is running to give older mobile devices more wiggle room to work with. It may not seem like much, but it all really does count in getting our game as widely accessible to the mobile market as we want it to be.