始终调用onPause().这是有保证的.如果您需要在活动中保存任何状态,则需要将其保存在onPause()中. onStop()可以在onPause()之后调用,也可以不调用.取决于情况.

有很多生命周期方法.您不需要覆盖所有这些.您只需覆盖您需要(或想要)自定义活动行为的那些.有很多生命周期方法,因为不同的应用程序有不同的要求.活动的生命周期记录良好且表现良好.这允许程序员根据应用程序的特定要求将代码准确地放在需要的位置.

你问过

What is the good reason for always having onPause() before onStop().

We can do in onStop() what is done in onPause().

如果Android想要做其他事情,它总是在前台调用onPause().它可能会启动另一个Activity,这可能会导致您的Activity的onStop()被调用.它可能只是在你的活动上调用onResume().它可能会在不再调用您的生命周期方法的情况下杀死您的进程.

由于无法保证调用onStop(),因此无法始终在onStop()中执行onPause()中的操作.

在大多数活动中,您会发现需要将代码放在onResume()和onPause()中.您通常不必在onStop(),onStart()或onRestart()中执行任何操作.

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐