【问题标题】:When do onRestart method get called in Android?什么时候在 Android 中调用 onRestart 方法?
【发布时间】:2016-05-30 07:45:13
【问题描述】:

虽然我们有 onStart 方法,但 onRestart 方法的目的是什么?

@Override
    protected void onStart() {
        super.onStart();
    }



 @Override
    protected void onRestart() {
        super.onRestart();
    }

【问题讨论】:

标签: android


【解决方案1】:

这里是活动生命周期,有你的 onStart()onRestart() 方法和解释

更多信息here

【讨论】:

    【解决方案2】:

    onRestart() 被调用的一种情况是当用户按下主页按钮并进入启动器屏幕时。在这种情况下,活动不会被破坏,并且会触发暂停/停止事件。当用户再次打开您的应用程序时,该活动的onRestart()onStart() 之前被调用。您可以找到示例here

    【讨论】:

    • 在这种情况下不会调用 onCreate 吗?根据他们文档上的图表,它在 onStart 之前调用,但没有指定调用 onCreate。
    【解决方案3】:

    只要Activity 从不可见状态返回,就会调用onRestart() 方法。假设,我们按下设备的主页按钮并返回,这个onRestart() 将被调用。有关此的更多信息,请通过documentation

    【讨论】:

      【解决方案4】:

      您可以阅读 Android 开发者关于 Activity 生命周期的所有信息:http://developer.android.com/reference/android/app/Activity.html#onRestart()

      直接取自那里:

      在重新显示当前活动时在 onStop() 之后调用 给用户(用户已经导航回它)。会跟进的 通过 onStart() 然后 onResume()。

      对于使用原始 Cursor 对象的活动(而不是创建 他们通过 managedQuery(android.net.Uri, String[], String, String[], String),这通常是光标应该在的地方 已请求(因为您已在 onStop() 中将其停用。

      派生类必须调用超类的实现 这种方法。否则,将引发异常。

      【讨论】:

        【解决方案5】:

        根据this

        注意:由于系统在停止时会将您的 Activity 实例保留在系统内存中,因此您可能根本不需要实现 onStop() 和 onRestart()(甚至 onStart() 方法。对于大多数相对简单的活动,活动将停止并重新启动就好了,您可能只需要使用 onPause() 来暂停正在进行的操作并断开与系统资源的连接。

        当当前活动重新显示给用户(用户已导航回它)时,在 onStop() 之后调用。之后是 onStart(),然后是 onResume()。

        对于使用原始 Cursor 对象的活动(而不是通过 managedQuery(android.net.Uri, String[], String, String[], String 创建它们),这通常是应该重新查询光标的地方(因为你已经在 onStop() 中取消了它。

        【讨论】:

          【解决方案6】:

          onRestart() 在当前活动重新显示给用户时在onStop() 之后调用。

          例如用户已导航回它。

          【讨论】:

            【解决方案7】:

            只有当您导航离开然后导航返回到活动时,才能 100% 确定调用 onRestart

            另一方面,当您按下主页按钮并将应用程序移至后台时,我们无法知道该应用程序是被操作系统销毁以收回资源还是仍然驻留在内存中。如果应用程序被销毁,则将调用onCreate。否则,如果应用程序在内存中仍然可用,则将调用 onRestart

            【讨论】:

              猜你喜欢
              • 2011-07-21
              • 1970-01-01
              • 2015-07-13
              • 2012-11-30
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2012-05-16
              相关资源
              最近更新 更多