De la Principes de base des applications page du guide de développement Android :
Par défaut, toutes les activités d'une application ont une affinité entre elles c'est-à-dire qu'il y a une préférence qu'elles appartiennent toutes à la même tâche.
Une activité "singleInstance" est seule et unique activité de sa tâche. Si elle lance une autre activité, cette activité sera lancée dans une tâche différente, quel que soit son mode de lancement - comme si FLAG_ACTIVITY_NEW_TASK était dans l'intention de l'utilisateur. intention. À tous les autres égards, le mode "singleInstance" est identique à "singleTask".
Comme indiqué ci-dessus, il n'y a jamais plus plus d'une instance d'une activité "singleTask" ou ou d'une activité "singleInstance", donc cette instance est censée gérer tous les nouveaux nouvelles intentions. Une activité "singleInstance se trouve toujours en haut de la pile (puisqu'elle est la seule activité de la tâche), elle est donc toujours en position de traiter l'intention. En revanche, une activité une activité "singleTask" peut ou non avoir avoir d'autres activités au-dessus d'elle dans la pile. Si c'est le cas, elle n'est pas en position pour traiter l'intention, et l'intention l'intention est abandonnée. (Même si l'intention l'intention est abandonnée, son arrivée aurait son arrivée aurait fait passer la tâche au l'avant-plan, où elle serait restée).
Étant donné qu'il n'y a jamais plus d'une instance de l'activité avec l'un ou l'autre mode de lancement, le bouton retour vous ramènera toujours à l'instance existante de l'activité dans votre cas.
Une différence importante est que "singleTask" ne nécessite pas la création d'une nouvelle tâche pour les nouvelles activités qui sont lancées lorsque quelque chose est sélectionné. Il ne devra pas non plus supprimer cette nouvelle tâche à chaque fois que l'on appuie sur le bouton retour.
Puisque votre pile d'activités se rapporte à une seule "tâche" d'utilisateur et que vous n'avez pas l'air d'avoir une structure d'intentions complexe où une seule instance pourrait être bénéfique pour toujours les gérer, je suggérerais d'utiliser le mode de lancement singleTask.
Voici un bon article de blog pour plus d'informations, ainsi que le crédit de l'image : Série d'activités et de tâches Android - Introduction au modèle de composants d'interface utilisateur d'Android