title: Why use Fragment#setRetainInstance(boolean)?
body: <p>I find Fragment#setRetainInstance(true) confusing. Here is the Javadoc, extracted from the <a href="http://developer.android.com/reference/android/app/Fragment.html#setRetainInstance%28boolean%29">Android Developer API</a>:</p>
  
  <blockquote>
    <p>public void <strong>setRetainInstance</strong> (boolean retain)</p>
    
    <p>Control whether a fragment instance is retained across Activity re-creation (such as from a configuration change). This can only be used with fragments not in the back stack. If set, the fragment lifecycle will be slightly different when an activity is recreated:</p>
    
    <ul>
    <li>onDestroy() will not be called (but onDetach() still will be, because the fragment is being detached from its current activity).</li>
    <li>onCreate(Bundle) will not be called since the fragment is not being re-created.</li>
    <li>onAttach(Activity) and onActivityCreated(Bundle) <strong>will</strong> still be called.</li>
    </ul>
  </blockquote>
  
  <p><strong>Question: How do you as a developer use this, and why does it make things easier?</strong></p>