Quick answer: Crashes on low-memory devices are almost always out-of-memory crashes: your footprint exceeds the device's limited RAM, so the OS kills it. The causes are a large footprint, spikes, leaks, and OS memory reclamation.
Low-memory devices, those with limited RAM regardless of age, crash in a specific way: they run out of memory. If your game uses more than they have, the OS shuts it down. Here's what causes crashes on low-memory devices.
Why Low Memory Means Crashes
A low-memory device has a hard ceiling on how much RAM your game can use, and exceeding it causes an out-of-memory crash. The causes all come down to your game's memory demands meeting that ceiling.
- A large memory footprint, loading too much at once (all assets, all levels) so resident memory is high
- Memory spikes, a sudden surge (loading a big level, spawning many objects) that briefly exceeds the limit
- Memory leaks, usage growing over a session until it crosses the ceiling
- Large uncompressed assets, textures and audio consuming more memory than necessary
- OS memory reclamation, the OS killing your app to free memory for the system or other apps under pressure
On a low-memory device, any of these can push your usage past what's available, triggering the OS to kill the game, an out-of-memory crash.
Why You Don't See Them
Your dev machine almost certainly has plenty of memory, so a footprint that crashes a low-memory device runs fine for you. OOM crashes on low-memory devices are completely invisible from your testing, while affecting a real segment of players.
Bugnet captures memory-related crashes tagged by device, so out-of-memory crashes on low-memory hardware surface in your data. Capturing them by device is the only way to see a problem that, by definition, doesn't happen on your higher-memory machine.
Reducing Crashes on Low-Memory Devices
The fix is fitting within the limited memory: reduce your footprint by unloading what isn't needed, compressing assets, and streaming instead of loading everything up front; smooth memory spikes; and check for leaks. Capturing the crashes by device tells you which devices are affected so you can verify the fix worked there.
Bugnet shows which low-memory devices hit OOM crashes and helps confirm fixes. So crashes on low-memory devices are out-of-memory crashes caused by your footprint exceeding limited RAM, and reducing them means cutting what you hold resident so the game fits on the devices that were crashing.
Crashes on low-memory devices are out-of-memory crashes, your footprint exceeds limited RAM. From a large footprint, spikes, leaks, or OS reclamation. Reduce what you hold resident so the game fits.