为什么按下主页按钮时"home"活动会被终止?



我创建了一个活动,将其筛选器设置为Home活动,并将launchMode设置为singleTask。当我按home时,活动将处于暂停状态,然后处于停止状态。让我困惑的是,为什么当从"主页选择"对话框上显示的图标返回时,活动会重新启动?它在不调用onDestroy()的情况下再次调用onCreate()

我知道有一种方法可以解决这个问题,那就是将launcherMode设置为singleIstance,但这种方法还不够好,因为它会导致活动无法处理onActivityResult的其他问题。

您可能想要告诉自己想要实现什么。因为singleTask就是这样。它将现有的意图传递给活动的现有实例的onNewIntent()。因此,活动不会被销毁,但会调用onCreate(),因为它将根据现有意图重新创建活动。

引用文件

系统在新任务的根目录下创建活动,并将意向路由到它。但是,如果活动的实例已经存在,则系统会通过调用其onNewIntent()方法将意向路由至现有实例,而不是创建新实例。

最新更新