title: android retain activity or save its state
body: <p>I've got unity3d and vuforia app ported to Eclipse. I have one starting activity and one extended activity which does extend vuforia activity and is set up as MAIN activity in manifest.</p>
  
  <p>I've got some app initializing activities like GA tracing session open and checking version of new app by requesting my own server.</p>
  
  <p>My problem is that I can't manage to run these init stuff only once in app life cycle.</p>
  
  <p>When app starts, it loads first Extended activity which loads vuforia and unity scene while showing splash screen, then when it is ready it goes to startup activity where it show some info to user. User reads it and then by tapping goes again to unity activity to get 3d scene. 
  I can put this initialization in either Extended activity or to start up activity. Both are valid from functional point of view. But what ever I do when user navigates between start up activity and unity activity previous activity is destroyed and next time onCreate is called when going back to it. It happens in both of them so if I put my initialization to any onCreate of these two it gets called multiple times as user navigates to them. </p>
  
  <p>What I have tried so far:
  - starting intent as startActivity and startActivityForResult, both behave same.
  - check manifest for statement not to retain history as i seen on some other smilar quaestions
  - in manifest I put android:configChanges for all possible values to make sure activities are not restarted due to some config changes, didn't help
  - tried to use onSaveInstanceState() and set some simple bolean that init was done already. But onRestoreInstanceState() is not called when activity is started again and no bundle is passed to onCreate method either. Save instance did happen I have logs there.</p>
  
  <p>Also when I leave the app by pressing home button or by putting it to background programmatically or leaving to play market and getting back to app from there by pressing back button my app activity remains loaded properly. So it gets destroyed only when I go internally from one of my activities to other by calling startActivity or startactivityForResult. </p>
  
  <p>I could imagine that unity activity is memory hungry and previous is lets say destroyed to be freed up but in such case my bundle should be saved and passed to onCreate() but it is not.</p>
  
  <p>I'm puzzled, I've been trying to figure out how to work around this for hours. I greatly appreciate any help. Thanks guys.</p>