Search code examples
androidnullpointerexceptionandroid-lifecycleonresume

How can I simulate Android OS killing off an Activity due to low system resources for testing


When the user leaves an activity, Android moves it to the recent apps. When Android needs more memory, it "kills" the app - unloads all Activity objects and will no longer exist. The user can still click on the app in the recent apps which starts the activity where the user left it. This often causes nullPointerException. We can prevent it by saving data with SharedPreferences, database or savedInstanceState.

How can I test whether I implemented data saving correctly without waiting on Android to unload objects of activity? i.e. how can I force Android to "kill" my activity?


Solution

  • There's a section called Apps in the Developer options. Make sure Do not keep activities is on, it'll allow you to test this behavior. Just don't forget to turn it off when you're done or you will be debugging weird lifecycle behavior in your app later.