title: Best practice for instantiating a new Android Fragment
body: <p>I have seen two general practices to instantiate a new Fragment in an application:</p>
  
  <pre><code>Fragment newFragment = new MyFragment();
  </code></pre>
  
  <p>and</p>
  
  <pre><code>Fragment newFragment = MyFragment.newInstance();
  </code></pre>
  
  <p>The second option makes use of a static method <code>newInstance()</code> and <em>generally</em> contains the following method.</p>
  
  <pre><code>public static Fragment newInstance() 
  {
      MyFragment myFragment = new MyFragment();
      return myFragment;
  }
  </code></pre>
  
  <p>At first, I thought the main benefit was the fact that I could overload the newInstance() method to give flexibility when creating new instances of a Fragment - but I could also do this by creating an overloaded constructor for the Fragment.</p>
  
  <p>Did I miss something?</p>
  
  <p>What are the benefits of one approach over the other? Or is it just good practice?</p>