Performing a save in the first actvity onPause should be fine.
You have found that the lifetime of the foreground event occurs between the call to onResume () until the corresponding call to onPause (). During this time, the activity before all other actions on the screen and interacts with the user.
When you start the second action, onPause is called on the first, and then the interactive control switches to the second, while onStop on the first call will be somewhat in the background.
This improves responsiveness and gets new activity in front of the user as soon as possible. Therefore, you should try to make your onPause implementation as fast and efficient as possible.
For more information on the life cycle, see the following Android docs http://developer.android.com/guide/topics/fundamentals.html , but what you find should work fine for you.