title: Unable to instantiate fragment com.swmansion.rnscreens.Screen
body: <p>I have been developing an app for android and ios using React Native 0.60.4, and just recently I discovered that putting the app in split-screen or freeform mode (from being the only app on the screen) sometimes causes it to crash. </p>
  
  <p>I played with this further and found that I can launch the app into split screen or freeform mode with no problem, but sometimes resizing it will cause it to crash. Below is the output from my debugger instance in Android Studio, which I'm struggling to make sense of:</p>
  
  <pre><code>E/AndroidRuntime: FATAL EXCEPTION: main
      Process: com.myApp, PID: 32150
      java.lang.RuntimeException: Unable to start activity ComponentInfo{com.myApp/com.myApp.MainActivity}: androidx.fragment.app.Fragment$InstantiationException: Unable to instantiate fragment com.swmansion.rnscreens.Screen$ScreenFragment: calling Fragment constructor caused an exception
          at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3270)
          at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409)
          at android.app.ActivityThread.handleRelaunchActivityInner(ActivityThread.java:5279)
          at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:5187)
          at android.app.servertransaction.ActivityRelaunchItem.execute(ActivityRelaunchItem.java:69)
          at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
          at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
          at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016)
          at android.os.Handler.dispatchMessage(Handler.java:107)
          at android.os.Looper.loop(Looper.java:214)
          at android.app.ActivityThread.main(ActivityThread.java:7356)
          at java.lang.reflect.Method.invoke(Native Method)
          at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
          at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
       Caused by: androidx.fragment.app.Fragment$InstantiationException: Unable to instantiate fragment com.swmansion.rnscreens.Screen$ScreenFragment: calling Fragment constructor caused an exception
          at androidx.fragment.app.Fragment.instantiate(Fragment.java:465)
          at androidx.fragment.app.FragmentContainer.instantiate(FragmentContainer.java:50)
          at androidx.fragment.app.FragmentState.instantiate(FragmentState.java:80)
          at androidx.fragment.app.FragmentManagerImpl.restoreAllState(FragmentManager.java:3109)
          at androidx.fragment.app.FragmentController.restoreAllState(FragmentController.java:158)
          at androidx.fragment.app.FragmentActivity.onCreate(FragmentActivity.java:344)
          at androidx.appcompat.app.AppCompatActivity.onCreate(AppCompatActivity.java:85)
          at com.facebook.react.ReactActivity.onCreate(ReactActivity.java:51)
          at android.app.Activity.performCreate(Activity.java:7802)
          at android.app.Activity.performCreate(Activity.java:7791)
          at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1299)
          at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3245)
          at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409) 
          at android.app.ActivityThread.handleRelaunchActivityInner(ActivityThread.java:5279) 
          at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:5187) 
          at android.app.servertransaction.ActivityRelaunchItem.execute(ActivityRelaunchItem.java:69) 
          at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) 
          at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) 
          at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016) 
          at android.os.Handler.dispatchMessage(Handler.java:107) 
          at android.os.Looper.loop(Looper.java:214) 
          at android.app.ActivityThread.main(ActivityThread.java:7356) 
          at java.lang.reflect.Method.invoke(Native Method) 
          at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) 
          at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930) 
       Caused by: java.lang.reflect.InvocationTargetException
          at java.lang.reflect.Constructor.newInstance0(Native Method)
          at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
          at androidx.fragment.app.Fragment.instantiate(Fragment.java:443)
          at androidx.fragment.app.FragmentContainer.instantiate(FragmentContainer.java:50) 
          at androidx.fragment.app.FragmentState.instantiate(FragmentState.java:80) 
          at androidx.fragment.app.FragmentManagerImpl.restoreAllState(FragmentManager.java:3109) 
          at androidx.fragment.app.FragmentController.restoreAllState(FragmentController.java:158) 
          at androidx.fragment.app.FragmentActivity.onCreate(FragmentActivity.java:344) 
          at androidx.appcompat.app.AppCompatActivity.onCreate(AppCompatActivity.java:85) 
          at com.facebook.react.ReactActivity.onCreate(ReactActivity.java:51) 
          at android.app.Activity.performCreate(Activity.java:7802) 
          at android.app.Activity.performCreate(Activity.java:7791) 
          at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1299) 
          at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3245) 
          at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409) 
          at android.app.ActivityThread.handleRelaunchActivityInner(ActivityThread.java:5279) 
          at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:5187) 
          at android.app.servertransaction.ActivityRelaunchItem.execute(ActivityRelaunchItem.java:69) 
          at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) 
          at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) 
          at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016) 
          at android.os.Handler.dispatchMessage(Handler.java:107) 
          at android.os.Looper.loop(Looper.java:214) 
          at android.app.ActivityThread.main(ActivityThread.java:7356) 
          at java.lang.reflect.Method.invoke(Native Method) 
          at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) 
          at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930) 
       Caused by: java.lang.IllegalStateException: Screen fragments should never be restored
          at com.swmansion.rnscreens.Screen$ScreenFragment.&lt;init&gt;(Screen.java:24)
          at java.lang.reflect.Constructor.newInstance0(Native Method) 
          at java.lang.reflect.Constructor.newInstance(Constructor.java:343) 
          at androidx.fragment.app.Fragment.instantiate(Fragment.java:443) 
          at androidx.fragment.app.FragmentContainer.instantiate(FragmentContainer.java:50) 
          at androidx.fragment.app.FragmentState.instantiate(FragmentState.java:80) 
          at androidx.fragment.app.FragmentManagerImpl.restoreAllState(FragmentManager.java:3109) 
          at androidx.fragment.app.FragmentController.restoreAllState(FragmentController.java:158) 
          at androidx.fragment.app.FragmentActivity.onCreate(FragmentActivity.java:344) 
          at androidx.appcompat.app.AppCompatActivity.onCreate(AppCompatActivity.java:85) 
          at com.facebook.react.ReactActivity.onCreate(ReactActivity.java:51) 
          at android.app.Activity.performCreate(Activity.java:7802) 
          at android.app.Activity.performCreate(Activity.java:7791) 
          at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1299) 
          at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3245) 
          at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409) 
          at android.app.ActivityThread.handleRelaunchActivityInner(ActivityThread.java:5279) 
          at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:5187) 
          at android.app.servertransaction.ActivityRelaunchItem.execute(ActivityRelaunchItem.java:69) 
          at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) 
          at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) 
          at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016) 
          at android.os.Handler.dispatchMessage(Handler.java:107) 
          at android.os.Looper.loop(Looper.java:214) 
          at android.app.ActivityThread.main(ActivityThread.java:7356) 
          at java.lang.reflect.Method.invoke(Native Method) 
          at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) 
          at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930) 
  </code></pre>