As far as I know, Activity instances run in their own class loader for security. Any singleton attached to a class that loads as a result of loading your Activity is tied to this classloader, which in turn is tied to the activity life cycle.
That is, I do not think that you can guarantee that this will not happen, and therefore you should not rely on it.
You need to serialize some kind of persistent state, and then unserialize when the Activity starts.
source share