这是场景:
我有两个活动。让我们命名它们Activity A
和Activity B
.
说Activity A
是开放的。现在,当我去 open 时Activity B
,Activity A
因为onStop()
调用了该方法而关闭。
现在,当我返回到 时Activity A
,onCreate()
会调用该方法,但我希望onRestart()
改为调用该方法。我该怎么做呢?
这是场景:
我有两个活动。让我们命名它们Activity A
和Activity B
.
说Activity A
是开放的。现在,当我去 open 时Activity B
,Activity A
因为onStop()
调用了该方法而关闭。
现在,当我返回到 时Activity A
,onCreate()
会调用该方法,但我希望onRestart()
改为调用该方法。我该怎么做呢?
你不能像那样影响你的应用程序的生命周期。应该没有理由依赖onRestart()
。如果您使用onStart()
它,无论 Android 操作系统是否在后台终止应用程序进程,它都会被调用。
查看此文档以获取更多信息:http: //developer.android.com/reference/android/app/Activity.html#ActivityLifecycle
该死的打败了我,但不管怎样
如果由于操作系统认为另一个应用程序需要内存而从内存中删除了 Activity,则会再次调用Activity生命周期。 onCreate()
在这种情况下,您无法确保onRestart()
始终为您的 Activity 调用它。
如前所述,您必须通过使用其他生命周期方法(例如onStart()
或onResume
我不确定它是否符合您的需求,我必须执行更新服务,该服务在我第一次打开 ActivityA(主 Activity)时启动,并在从 ActivityA 退出时停止(不从 ActivityB 返回),
我已将“开始代码”放置在onCreate()
when savedInstanceState
is中null
,并且将“停止代码”放置在onDestroy()
if isFinishing() 为 true 中