title: Activity Life Cycle Methods and Saving State
body: <p>I started reading around about the activity life cycle callbacks and saving state and there are quite a few things I don't understand - I'm writing an android app but I want to ask more general questions than how to do it specifically for the few activities etc I have at the moment, I would like to have a better overall view of how this works!</p>
  
  <p>There are two groups of methods I have seen being used (I have seen one or two others but don't want to confuse myself even further...)</p>
  
  <ul>
  <li>onPause, onResume etc, </li>
  <li>and then the onSaveInstanceState ones. </li>
  </ul>
  
  <p>What is the difference between them and the circumstances we should be looking to use them? I have seen some questions where a poster is using one of the normal life cycle callbacks, and is told to use onSaveInstanceState instead, so when should we be implementing onPause rather than onSaveInstanceState and so on. Some posts mentioned about methods being used for transient state only, could someone expand on that?  </p>
  
  <p>I have seen state being used to mean slightly different things - UI/View state and Activity state, what is the difference between the two?<br>
  I am also a bit unsure with what they mean by state, when we are saving state what kind of things are we saving exactly, could anyone give some quick examples (I don't mean actual code)? The android developer guides say that the android system automatically takes care of some of this, so what should we be concerned with? Bundle objects used by onCreate and onSaveInstanceState only store simple values, so what about more complex objects and arrays.</p>
  
  <p>Thanks</p>