Android 如何使用onResume()?

Android 如何使用onResume()?,android,android-lifecycle,onresume,Android,Android Lifecycle,Onresume,谁能给我举一个在Android中使用onResume()的例子 另外,如果我想在另一个活动的执行结束时重新启动该活动,将执行哪个方法-onCreate()或onResume() 如果我想更新数据,如何将其放入onResume()?重新启动应用程序将调用OnCreate() 暂停时继续应用程序将调用OnResume()。从官方文档中,这里是活动生命周期图 重新查看Android活动生命周期参考。这里有一张很好的图片,表格显示了调用的方法。参考链接 任何重新启动的活动都会首先执行其onResume(

谁能给我举一个在Android中使用
onResume()
的例子

另外,如果我想在另一个活动的执行结束时重新启动该活动,将执行哪个方法-
onCreate()
onResume()


如果我想更新数据,如何将其放入
onResume()?

重新启动应用程序将调用
OnCreate()

暂停时继续应用程序将调用
OnResume()
。从官方文档中,这里是活动生命周期图


重新查看Android活动生命周期参考。这里有一张很好的图片,表格显示了调用的方法。参考链接


任何重新启动的活动都会首先执行其onResume()方法

要使用此方法,请执行以下操作:

@Override
public void onResume(){
    super.onResume();
    // put your code here...

}
override fun onResume() {
        super.onResume()
        // your code here
    }
onResume()
是整个过程中调用的方法之一
onResume()
onPause()
相对应,当某个活动从视图中隐藏时(例如,如果您启动了一个隐藏该活动的新活动),就会调用该函数
onResume()
在屏幕上显示隐藏的活动时调用

您的问题是询问用于重新启动活动的方法<代码>onCreate()在首次创建活动时被调用。实际上,大多数活动都是通过一系列的
onPause()
onResume()
调用在后台进行的。如果一个活动首先通过调用
onStop()
完全停止,然后又重新启动,那么它只有通过
onRestart()
才能真正“重新启动”。因此,如果您实际上没有使用
onStop()
停止活动,则最有可能使用的是
onResume()

阅读上面链接中的android文档,更好地了解不同生活方式之间的关系。无论最终使用哪种生命周期方法,通用格式都是相同的。您必须重写标准方法,并在注释部分中包含您的代码,即您希望活动在此时执行的操作

@Override
public void onResume(){
 //will be executed onResume
}

最好的理解方法是在活动中覆盖所有生命周期方法,并在每个方法中放置断点(如果签入emulator)或日志。你会知道什么时候打电话给谁

就像扰流板一样,首先调用
onCreate()
,然后如果您通过转到主屏幕或启动另一个活动暂停活动,则会调用
onPause()
。如果操作系统同时销毁活动,将调用
onDestroy()
。如果恢复应用程序并且应用程序已被销毁,将调用
onCreate()
,否则将调用
onResume()

编辑:我忘记了
onStop()
,它在
onDestroy()之前被调用


做我提到的练习,你会有更好的理解。

前面的大多数答案都很好地解释了如何、为什么以及何时使用
onResume()
,但我想补充一些关于重新创建
活动的内容

我想知道是否要在执行其他方法结束时重新启动活动onCreate()或onResume()执行的是什么方法

答案是
onCreate()
但是,当决定实际重新创建它时,您应该问问自己有多少
活动需要重新创建。如果它是适配器中的数据,比如列表,那么您可以在
适配器上调用
notifyDataChanged()
,以重新填充
适配器,而不必重新绘制所有内容


此外,如果您只需要更新某些
视图
,而不是全部视图,那么在需要更新的
视图上调用
invalidate()
可能会更有效。这只会重新绘制那些
视图
,并可能使应用程序运行更平稳。我希望这能帮助你

活动启动后,重新启动(onRestart()发生在onStart()之前),或暂停(onPause()),调用onResume()。当活动处于onResume()状态时,应用程序用户即可使用该活动

我对活动生命周期进行了一些研究,以下是我对本主题的理解: 如果要在另一个活动的执行结束时重新启动活动(A),可能会有几种不同的情况

  • 另一个活动(B)已暂停和/或停止或销毁,而活动A可能已暂停(onPause()),在这种情况下,活动A将调用onResume()

  • 活动B已暂停和/或停止或销毁,活动A可能因内存问题而停止(onStop()),在这种情况下,活动A将首先调用onRestart(),然后调用onStart(),然后调用onResume()

  • 活动B已暂停和/或停止或销毁,活动A已销毁,程序员可以手动调用onStart()先启动活动,然后调用onResume(),因为当活动处于已销毁状态时,活动尚未启动,而这发生在活动完全删除之前。如果删除了该活动,则需要再次创建该活动。 手动调用onStart(),我认为这是因为如果活动未启动且已创建,则onStart()将在onCreate()之后调用

  • 如果要更新数据,请创建一个数据更新函数,并将该函数放入onResume()中。或者在onResume()中放入loadData函数


    借助活动生命周期图更好地理解生命周期。

    KOTLIN


    任何重新启动的活动都会首先执行其onResume()方法

    要使用此方法,请执行以下操作:

    @Override
    public void onResume(){
        super.onResume();
        // put your code here...
    
    }
    
    override fun onResume() {
            super.onResume()
            // your code here
        }
    

    当您打开应用程序时,它将经历以下状态: onCreate()–>onStart()–>onResume()

    当您按下后退按钮并退出ap时