OOM stands for “out of memory”, indicating that the operating system has killed an app for exceeding memory limits. 

There are two main issues that can cause OOMS. The first is memory leaks. These occur when memory is allocated, and all references to that allocation are lost, so it becomes impossible to free the memory. This can happen with lower-level API calls such as CoreVideo or CoreAudio. The second is memory abandonment. This occurs when memory is allocated, and then a reference is maintained but never used again, so it becomes unnecessary for the memory to be allocated. This can happen with any type of object or API.


Low memory warnings are a warning the operating system tells the app is happening. 


For example, in the case of slowly approaching the memory limit, the system might give several low memory warnings before the app actually crosses the threshold and the system kills it with the OOM. 


Within Embrace:


For Android apps, OOM has its own page and is displayed as a session outcome on the timeline. Low Memory warnings appear in the timeline and can occur multiple times.


You can filter User Sessions by "Has Low-Memory Warning = (is) true" or aggregate low-memory warnings via a dashboard widget by graph or list.



For iOS apps, it is extremely difficult to identify which forced system terminations are truly out-of-memory crashes versus any number of other unclean or unidentified exits. Examples include, but are not limited to: 

  • An app taking too long to finish launching. 
  • An app using excessive CPU resources.
  • An app trying to access data it should not have access to.
  • An app’s certificate has expired.


Therefore on your iOS dashboard, you will not see an OOM Page but instead, a page called Uncategorized Exits” (or “UE” where abbreviated). This group includes OOMs, as well as app kills for miscellaneous reasons as listed above. We are not able to isolate true OOMs from the rest of the Uncategorized Exits at this time. Additional information about this can be found here.


To learn more about how to identify, prioritize and solve OOMs with Embrace, check out this article.