You should simply use the system of intent as designed. Statics and activity can be killed, apparently, perforce from Android. Even the Application class can be killed.
Say that you have an application that consists of two actions, the first of which allows the user to store some data in the Application object. Then the user presses the button to start the second action, which displays the data. The user removes his phone and returns to it a few hours later.
Android may decide to kill the application for various reasons during this time. When the user returns, picks up the phone and restarts your application, a new application object will be created and the second action will be restored, but the data entered by the user will no longer be available in the Application object, because it is a new application object.
One way to help with this is to use SharedPreferences even for complex objects. Gson is quite capable of serializing and deserializing them into SharedPreferences.
To simulate this, you can do the following:
$ adb shell ps | grep your.app.package
to get the pid of your running application, then
$ adb shell kill -9
then open the application using the task switcher and you will have a new application object, but it will be included in the second activity.
source share