My app crashes several times without any error or stack trace on my console. Then the only way left is to go and check Apple's crash reporter. I found "jettisoned" next to my app name, which in turn implies iOS killed my app, but how do I figure out why did it happened? Why is iOS killing my app? Initially, I thought it was a memory overflow issue, but then, using Instruments, I figured out that my app was taking hardly 4-5 MB of memory, so I discarded those issues. Apple's doc does not mention much about this. Any help or suggestions would be highly appreciated.
Locate Crash Reports and Memory Logs on the DeviceOpen the Analytics & Improvements section of Settings on the device. See Share analytics, diagnostics, and usage information with Apple. Tap Analytics Data. Locate the log for your app.
The jetsam event report records how much memory each process used before jettisoning an app. The virtual memory system allocates and manages memory in chunks, called memory pages, and the report lists the memory use as the number of memory pages used.
The crash key system is used to report some common pieces of data, not just things that happen in exceptional cases: the URL of the webpage, command line switches, active extension IDs, GPU vendor information, experiment/variations information, etc.
It means the process was terminated because iOS needed memory:
Memory usage of each process is reported in terms of number of memory pages, which as of this writing are 4KB each. You will see "(jettisoned)" next to the name of any process terminated by iOS to free up memory. If you see it next to your application's name, that confirms the application was terminated for using too much memory.
Documentation
I would take a look at that technical note for some additional help. The documentation also points out the Instruments does not measure graphics memory use, and that requires special handling.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With