如何使用onResume()?

Ziz*_*zou 71 android onresume android-lifecycle

任何人都可以给我一个onResume()在Android 中使用的例子吗?

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

如果我想更新数据,我该如何处理它 onResume()?

Mr.*_*ndy 116

任何重新启动的Activity都首先执行onResume()方法.

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

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

}
Run Code Online (Sandbox Code Playgroud)


Vis*_*nan 61

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

在应用程序暂停时继续运行会调用OnResume().从https://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle上的官方文档,这里是活动生命周期的图表.

Android活动生命周期,来自https://developer.android.com/images/activity_lifecycle.png,网址为https://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle

  • 我不建议手动调用属于Activity生命周期的任何方法:),这可能会导致很多问题. (2认同)

noo*_*oob 27

理解的最佳方法是在您的活动中覆盖所有LifeCycle方法并放置断点(如果检入模拟器)或登录每个方法.你会知道哪一个被调用.

就像一个扰流板一样,onCreate()首先被调用,然后如果您通过进入主屏幕或通过启动另一个活动来暂停活动,则会onPause()被调用.如果操作系统在此期间破坏活动,则会onDestroy()被调用.如果您恢复应用程序且应用程序已被销毁,onCreate()将被调用,否则onResume()将被调用.

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

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

  • 我一直在寻找如此详细的解释一段时间,这确实帮助我创建了完美的应用程序活动周期。谢谢。 (2认同)

Amb*_*mar 14

当您打开应用程序时,它将经历以下状态:\nonCreate() \xe2\x80\x93> onStart() \xe2\x80\x93> onResume()

\n

当您按后退按钮并退出应用程序时

\n

onPaused() \xe2\x80\x94 > onStop() \xe2\x80\x93> onDestory()

\n

当你按下主页按钮时

\n

onPaused() \xe2\x80\x93> onStop()

\n

按主页按钮后,再次从最近的任务列表中打开应用程序时

\n

onRestart() \xe2\x80\x93> onStart() \xe2\x80\x93> onResume()

\n

关闭对话框或对话框中的后退按钮后

\n

onResume()

\n

如果电话响了并且用户正在使用该应用程序

\n

onPause() \xe2\x80\x93> onResume()

\n

通话结束后

\n

onResume()

\n

当您的手机屏幕关闭时

\n

onPaused() \xe2\x80\x93> onStop()

\n

当您的手机屏幕重新打开时

\n

onRestart() \xe2\x80\x93> onStart() \xe2\x80\x93> onResume()

\n

快乐编码...@Ambilpura

\n


cod*_*gic 9

以前的大部分答案都很好地解释了如何,为什么以及何时使用,onResume()但我想补充一些关于重新创建你的内容Activity.

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

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

此外,如果您只需要更新某些views但不是全部,那么调用需要更新invalidate()view(s)可能更有效.这只会重绘那些views并可能允许您的应用程序更顺畅地运行.我希望这可以帮到你.


Rar*_*arw 5

onResume()是在整个活动生命周期中调用的方法之一。onResume()是在onPause()任何时候将活动从视图中隐藏时调用的对应物,例如,如果您启动一个隐藏它的新活动。onResume()当隐藏的活动返回到屏幕上查看时调用。

您的问题是关于使用什么方法重新启动活动。onCreate()在首次创建活动时调用。在实践中,大多数活动通过一系列onPause()onResume()调用在后台持续存在。一个活动只有onRestart()在它首先通过调用完全停止onStop()然后恢复生机时才能真正“重新启动” 。因此,如果您实际上并未停止使用onStop()它的活动,那么您最有可能使用onResume().

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

@Override
public void onResume(){
 //will be executed onResume
}
Run Code Online (Sandbox Code Playgroud)


Ike*_*bal 5

科特林

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

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

override fun onResume() {
        super.onResume()
        // your code here
    }
Run Code Online (Sandbox Code Playgroud)