The title might be misleading, but here's the essence of the gotcha. Last year I had an app that would throw some exceptions sometimes on some devices when the app had been in the background for awhile. There were static singleton variables that were created in the "splash" activity, the main entrance activity. This is the one that we use to determine where to take the user (e.g. if the user is logged in, take them to the Dashboard activity; if the user isn't logged in, take them to the Login activity). This splash activity also loaded the current user into a global static var that the subsequent activities would reference.
However - the gotcha is that when your app is killed by the system (most likely due to low memory), the splash activity is bypassed and Android will open up the last activity that was on the stack.
The solution - move the logic for setting the current logged in user into the Application class. The application class is always run before it loads any other activities. You can simulate this by running the following command from adb:
am kill <com.favpix.yourpackage>
Hope this helps someone else out!