According to the documentation the Android OS can kill the activity at the rear of the backstack.
So, say for example I have an app and open the Main Activity (let's call it Activity A). In this public activity class I declare and initialize a public static variable (let's call it "foo"). In Activity A's onCreate() method I then change the value of "foo." From Activity A the user starts another activity within my app called Activity B. Variable "foo" is used in Activity B. Activity B is then paused after the user navigates to some other activities in other apps. Eventually, after a memory shortage occurs, Activity A then Activity B can be killed. After the user navigates back to my app it restarts (actually "recreates") activity B.
What happens:
Will variable "foo" at this point have the value that was set to it when Activity A's onCreate() method ran?
Variable "foo" does not exist ?
Variable "foo" exists and but is now the initialized value and not the value set in Activity A's onCreate() method ?
If the process is killed then all static variables will be reinitialized to their default values.
So whatever value you have set in Activity A will not persist