The Memory Pane
The Memory pane is one of the simpler metrics reported by GameBench, but also one of the most critical. While there are many utilities for detecting crashes, the GameBench Memory pane predicts how close your app came to crashing for memory-related reasons, thereby allowing you optimise back towards safer limits even before a crash has been experienced.
The Memory Info Box
The Memory Info box reveals mean average and peak memory usage for a session.
The Session Markers box
As with certain other metrics, you can use “in” and “out” markers to define a region of interest in a test session, and this box will display memory readings just for that region.
The Memory Usage Chart
The Memory Usage chart displays the allocation of memory (in MB) to various usages (Total, Dalvik, Native, Other) over the duration of your test session.
What should you look for?
While most iOS apps in our database use 100-200MB of RAM, and most Android apps use 200-500MB, we have examples of games that use over a gigabyte of memory – greatly increasing the chance that the app will fail or be force-closed by the operating system.
In general, your memory footprint should be proportionate to the amount of memory in the devices owned by your typical users. For example, if you have a casual game that is popular among people who have mid-range Android phones, then you should consider a target footprint of below 200MB (peak and average). But if you’re developing a high-end game, where most users have high-specced smartphones, you could permit a peak of 500MB – which would put your app in the top 20 percent of memory-hungry titles. Going beyond 800MB would be very risky, however, putting you in the top 2 percent.
We also have examples of leaky apps and games whose memory footprints grow constantly over time, without memory being properly cleaned, such that crashes become far more likely in longer sessions. A good memory chart will generally be one which reaches its peak part-way into the session and then stabilises for the remainder of the session.