You can simply avoid restarting during rotation by processing these configuration changes by code. You can do this in your Manifest.xml as follows:
<activity android:name=".MainActivity" android:configChanges="orientation|screenSize|keyboard|keyboardHidden" android:label="@string/app_name" >
So, your application will not restart when spinning and if the keyboard is open / closed.
I think this solution is much simpler.
In this case, you almost do not need to contact onSaveInstanceState() to exit, except that you run another intent / action in which you need to save the state of the game. Please note that a phone call also interrupts your code. I know several games with funny bugs where time is reset, but not an estimate.
rekire
source share