androidandroid-fragmentsandroid-activitylifecyclerobospice

onStart of new Activity is called before onStop of parent


I've got an application. I use startActivity() to start activity.

Can anyone actually tell me why system is calling onStart() of new Activity first, instead of parents onStop()? Is that even possible (without system bug)?

I've found Fragment onStop() being called directly after onStart() - WHY? answer, but I got nothing in common with Fragments and using android-support library. I'm stuck because I'm using RoboSpice and it must contain proper, synchronized methods in onStart and onStop. I can't because system is calling it in wrong order.

I'm using GCM and Analytics libraries as well in this application.


Solution

  • If you have a read of the Activity Lifecycle documentation onStop is only called when the current activity is replaced by a new (or previous) one.

    For that to happen the other application has to start or resume... otherwise there would be a gap

    onPause of the current activity is (I would expect) called before the onStart of the replacing Activity