Java onResume()和onPostResume()在活动生命周期中有什么区别?

Java onResume()和onPostResume()在活动生命周期中有什么区别?,java,android,android-studio,onresume,activity-lifecycle,Java,Android,Android Studio,Onresume,Activity Lifecycle,在Android中学习活动生命周期时,我对这两种方法感到困惑。我试着分别实现这两种方法,效果很好。那么,这对双胞胎有什么不同呢?在简历上: 在活动恢复完成时调用(在调用活动的{@link#onResume}之后)。应用程序通常不会实现此方法;它旨在让系统类在应用程序恢复代码运行后进行最终设置 它将做以下事情 它将确保屏幕对用户可见,并为活动进行最终设置 删除消息队列中代码为“what”的任何挂起的消息帖子 检查恢复的所有片段,并将控制器的FragmentManager管理的所有片段移动到恢复状态

在Android中学习活动生命周期时,我对这两种方法感到困惑。我试着分别实现这两种方法,效果很好。那么,这对双胞胎有什么不同呢?

在简历上:

在活动恢复完成时调用(在调用活动的{@link#onResume}之后)。应用程序通常不会实现此方法;它旨在让系统类在应用程序恢复代码运行后进行最终设置

它将做以下事情

它将确保屏幕对用户可见,并为活动进行最终设置

删除消息队列中代码为“what”的任何挂起的消息帖子

检查恢复的所有片段,并将控制器的FragmentManager管理的所有片段移动到恢复状态

对控制器的FragmentManager管理的片段执行任何挂起的操作

如果你检查它的生命周期,它的工作原理如下

onResume()-活动

onResume()-如上所述的片段检查第三点

onPostResume()-活动 请参见此处:

onResume()
protectedvoid onResume()
onRestoreInstanceState(Bundle)
onRestart()
onPause()
之后调用,以便您的活动开始与用户交互。这是活动已激活并准备接收输入的指示器。它位于活动堆栈的顶部,对用户可见

在Build.VERSION\u code.Q之前的平台版本这也是尝试打开独占访问设备或访问单例资源的好地方。从Build.VERSION\u CODES.Q开始,系统中可以同时有多个恢复的活动,因此应该使用onTopResumedActivityChanged(布尔值)来代替

派生类必须调用该方法的超类实现。如果没有,将抛出异常

如果重写此方法,则必须调用超类实现

onPostResume()
postResume()上受保护的void(
活动恢复完成时调用(在调用
onResume()
之后)。应用程序通常不会实现此方法;它旨在让系统类在应用程序恢复代码运行后进行最终设置

派生类必须调用该方法的超类实现。如果没有,将抛出异常


如果您重写此方法,则必须调用超类实现。

您可以检查我的答案是否正确。当然,我已经检查过了。请您对我的新问题进行投票,这是一个非常重要的问题,需要开发人员注意。谢谢,我最近添加了一个问题链接: