android - Activity singleTask后台切换错误
ringa_lee
ringa_lee 2017-04-17 17:24:09
0
2
498

场景1:ActivityA启动ActivityB,ActivityB启动ActivityC,此时用户看到的是ActivityC。ActivityB的启动模式是singleTask。此时用户点击home键,再点击应用图标返回,看到的是ActivityC。

场景2:ActivityA启动ActivityB,ActivityB启动ActivityC,此时用户看到的是ActivityC。ActivityA的启动模式是singleTask。此时用户点击home键,再点击应用图标返回,看到的是ActivityA。

以上两个场景ActivityA都是App入口Activity。

我的问题是:为什么会出现场景2这样的现象,如果是因为入口Activity被设置了singleTask,点击应用图标时重启了入口Activity的话,场景2是没有问题的。但如果是这样,场景1里的ActivityA不应该也会被重启吗?用户看到的不应该是ActivityA了吗?为什么能够到ActivityC呢。总之我觉得这两个是非常矛盾的,希望了解的开发者给解释一下。

ringa_lee
ringa_lee

ringa_lee

répondre à tous(2)
迷茫

Quel est le mode de démarrage de l'activitéA dans le scénario 2 ?

洪涛

Deux cas de mise singleTask

  • Lorsque le singleTask du Activity que vous démarrez n'est pas en bas de la pile (c'est-à-dire qu'il y a un Activity démarré avant lui), il sera en haut de la pile actuelle . S'il y a un Activity dessus, il sera supprimé. C'est votre premier scénario.

  • Lorsque le singleTask du Activity que vous démarrez est en bas de la pile (c'est-à-dire le premier Activity démarré), il démarrera une nouvelle pile, qui n'est pas dans la même position comme la pile Activity qui est démarrée plus tard. Ceci est votre deuxième scénario.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal