title: super.onCreate(savedInstanceState) crashes when activity resumes
body: <p>My app's main activity starts fine, works fine, everything is dandy - but if you switch away to another app and the app is destroyed by the garbage collector, when you move back to the app it'll crash on "super.onCreate(savedInstanceState)".</p>
  
  <p>This is my onCreate():</p>
  
  <pre><code>@Override
  protected void onCreate(Bundle savedInstanceState) {
      Log.d(LOG_TAG,"Activity Created"); 
      super.onCreate(savedInstanceState);
      ... //Other stuff that isn't relevent
  }
  </code></pre>
  
  <p>Pretty straightforward.
  Except when I switch away using taskswitcher and then switch back after the app is killed by the garbagecollector to free memory, the app crashes as soon as "super.OnCreate(savedInstanceState) is called". </p>
  
  <p>Here's the log:</p>
  
  <pre><code>I/ActivityManager(  629): Start proc ambious.androidtroper for activity ambious.androidtroper/.MainActivity: pid=25512 uid=10016 gids={50016, 3003, 1028}
  
  D/AndroidTroper(25512): Activity Created
  
  E/AndroidRuntime(25512): FATAL EXCEPTION: main
  
  E/AndroidRuntime(25512): java.lang.RuntimeException: Unable to start activity ComponentInfo{ambious.androidtroper/ambious.androidtroper.MainActivity}: android.support.v4.app.Fragment$InstantiationException: Unable to instantiate fragment ambious.androidtroper.MainActivity$ArticleFragment: make sure class name exists, is public, and has an empty constructor that is public
  
  E/AndroidRuntime(25512):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2350)
  
  E/AndroidRuntime(25512):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2400)
  
  E/AndroidRuntime(25512):    at android.app.ActivityThread.access$600(ActivityThread.java:153)
  
  E/AndroidRuntime(25512):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1269)
  
  E/AndroidRuntime(25512):    at android.os.Handler.dispatchMessage(Handler.java:99)
  
  E/AndroidRuntime(25512):    at android.os.Looper.loop(Looper.java:137)
  
  E/AndroidRuntime(25512):    at android.app.ActivityThread.main(ActivityThread.java:5295)
  
  E/AndroidRuntime(25512):    at java.lang.reflect.Method.invokeNative(Native Method)
  
  E/AndroidRuntime(25512):    at java.lang.reflect.Method.invoke(Method.java:525)
  
  E/AndroidRuntime(25512):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:739)
  
  E/AndroidRuntime(25512):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:555)
  
  E/AndroidRuntime(25512):    at dalvik.system.NativeStart.main(Native Method)
  
  E/AndroidRuntime(25512): Caused by: android.support.v4.app.Fragment$InstantiationException: Unable to instantiate fragment ambious.androidtroper.MainActivity$ArticleFragment: make sure class name exists, is public, and has an empty constructor that is public
  
  E/AndroidRuntime(25512):    at android.support.v4.app.Fragment.instantiate(Fragment.java:413)
  
  E/AndroidRuntime(25512):    at android.support.v4.app.FragmentState.instantiate(Fragment.java:97)
  
  E/AndroidRuntime(25512):    at android.support.v4.app.FragmentManagerImpl.restoreAllState(FragmentManager.java:1783)
  
  E/AndroidRuntime(25512):    at android.support.v4.app.FragmentActivity.onCreate(FragmentActivity.java:213)
  
  E/AndroidRuntime(25512):    at ambious.androidtroper.MainActivity.onCreate(MainActivity.java:88)
  
  E/AndroidRuntime(25512):    at android.app.Activity.performCreate(Activity.java:5271)
  
  E/AndroidRuntime(25512):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
  
  E/AndroidRuntime(25512):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2304)
  
  E/AndroidRuntime(25512):    ... 11 more
  
  E/AndroidRuntime(25512): Caused by: java.lang.InstantiationException: can't instantiate class ambious.androidtroper.MainActivity$ArticleFragment; no empty constructor
  
  E/AndroidRuntime(25512):    at java.lang.Class.newInstanceImpl(Native Method)
  
  E/AndroidRuntime(25512):    at java.lang.Class.newInstance(Class.java:1130)
  
  E/AndroidRuntime(25512):    at android.support.v4.app.Fragment.instantiate(Fragment.java:402)
  
  E/AndroidRuntime(25512):    ... 18 more
  
  W/ActivityManager(  629):   Force finishing activity ambious.androidtroper/.MainActivity
  
  I/ActivityManager(  629): Process ambious.androidtroper (pid 25512) has died.
  </code></pre>
  
  <p>Now this is weird, because the class specified in the error (ArticleFragment) IS public, DOES have a public empty constructor and doesn't cause the same error on a regular launch of the app:</p>
  
  <pre><code>public class ArticleFragment extends Fragment  {
     public ArticleFragment(){
        //Empty constructor
     }
  }
  </code></pre>
  
  <p>I'm really at a loss here. The error is triggered at "super.onCreate()" which I can not omit (obviously), and is only triggered when the app is re-created after being garbage-collected.
  What am I missing? Is there anything else relevant that I may have forgotten to mention?
  Thank you.</p>