我希望在我的其他MainActivity
中使用新的Intent
启动我的Activity
。这两个活动位于同一个应用程序中,第二个活动实际上是从MainActivity启动的。所以场景是这样的:
未标记MainActivity。我的意思是,清单中活动的启动模式未设置(因此,它是默认设置)。
我想知道MainActivity的生命周期和意图会发生什么。
是否重新创建了活动?是onCreate()
吗?然后onCreate()
被调用两次,没有onDestory()
?或者新创建了MainActivity,并且会有两个MainActivities?来自getIntent()
的意图会被覆盖吗?
我知道对于singleTop活动会调用Activity.onNewIntent()
。那么在我的情况下onNewIntent()
没有被调用?
提前致谢。
答案 0 :(得分:3)
是否重新创建了活动?是onCreate()调用吗?然后是onCreate() 叫了两次,
是,是,是的,因为活动的默认launchMode
为"standard"
。使用标准 Activity
的{{1}}会创建一个新实例多少次。
来自getIntent()的Intent会被覆盖吗?
AFAIK,它仍然是launchmode
。
答案 1 :(得分:3)
如果为具有默认启动模式的活动调用startActivity()(即,您没有在清单或Intent中提及任何启动模式),则会创建活动的新实例。
例如,A启动B并且再次B启动A然后活动堆栈将是A - B - A.此时按回键将带您到B然后A。
您可以参考Android的Tasks and BackStack文档。