如何让活动重新启动但不重新创建?

时间:2012-08-22 02:15:26

标签: android android-activity android-lifecycle

以下是该方案:

我有两项活动。可以将它们命名为Activity AActivity B

Activity A已打开。现在,当我打开Activity B时,Activity A已关闭,因为调用了onStop()方法。

现在,当我回到Activity A时,会调用onCreate()方法,但我希望调用onRestart()方法。我该怎么做?

3 个答案:

答案 0 :(得分:3)

您无法像这样影响应用的实时周期。没有理由依赖onRestart()。如果你使用onStart(),无论Android操作系统是否在后台杀死了应用程序进程,它都会被调用。

查看此文档以获取更多信息: http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle

答案 1 :(得分:1)

该死的打败了​​我,但无论如何都要去了

根据Activity Lifecycle onCreate()再次调用,如果活动从内存中删除,因为操作系统认为另一个应用程序需要内存。在这种情况下,您无法确保始终为您的活动调用onRestart()

如前所述,您必须使用其他生命周期方法(例如onStart()onResume

找到实现目标的不同方法

答案 2 :(得分:0)

我不确定它是否符合您的需求,我必须执行更新服务,该服务在我第一次打开ActivityA(主Activity)时启动,并在退出ActivityA时停止(不从ActivityB返回),

如果onCreate()savedInstanceState,我在null中放置了“起始代码”,如果isFinishing()为真,则onDestroy()中的“停止代码”