De la Application Fundamentals page du guide dev Android:
Par défaut, toutes les activités dans une application ont une affinité pour chaque autre - qui est, il y a une préférence pour tous appartenir à la même tâche .
Une activité "singleInstance" est la seule activité de . Si elle commence une autre activité, cette activité sera lancée dans une tâche différente indépendamment de son mode de lancement - comme si FLAG_ACTIVITY_NEW_TASK était dans l'intention . À tous autres égards, le mode "singleInstance" est identique à "singleTask".
Comme indiqué plus haut, il n'y a jamais plus d'une instance d'une activité « singleTask » ou « SingleInstance », de sorte que exemple devrait traiter tous les nouveaux intentions. Une activité "singleInstance" est toujours en haut de la pile (puisque c'est la seule activité dans la tâche ), donc il est toujours en position gérer l'intention. Cependant, une activité "singleTask" peut ou non avoir d'autres activités au-dessus dans la pile . Si c'est le cas, il n'est pas en position pour gérer l'intention, et l'intention est supprimée. (Même si l'intention est tombé, son arrivée aurait ont causé la tâche à venir au premier plan , où il resterait.)
Comme il n'y a jamais plus d'une instance de l'activité avec l'un ou l'autre mode de lancement, le bouton de retour vous mè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 lancées lorsque quelque chose est sélectionné. Il n'aura pas non plus à supprimer cette nouvelle tâche sur le bouton de retour à chaque fois. Puisque votre pile d'activité se rapporte à une seule "tâche" d'utilisateur, et que vous n'avez pas une structure complexe Intent où singleInstance peut être utile de toujours les gérer, je suggère d'utiliser le mode de lancement singleTask.
Voici un bon blog pour plus d'informations, ainsi que créditée pour l'image: Android Activities and Tasks series – An introduction to Android’s UI component model
Merci! ressemble à une bonne lecture ... la chose est réalisée Je souhaite réellement plusieurs instances d'une activité et seulement lorsque l'activité de premier plan est une activité de recherche et qu'une autre recherche est effectuée si elle utilise cette activité existante (comme le marché fonctionne) Et pour cela le singeTop est exactement ce que Im après mais merci pour l'aide de toute façon =) merci – Kman
Salut, merci. Ce message bien écrit m'a aidé dans une pincée. – icecreamman
Merci pour les détails, surtout celui-ci * (Même si l'intention est abandonnée, son arrivée aurait fait que la tâche revienne au premier plan, où elle resterait.) *, Ce qui efface instantanément ma confusion. Je pensais juste à ce qui se passerait si une seule tâche n'est pas en haut de la pile alors que je veux toujours y naviguer sans spécifier 'FLAG_ACTIVITY_CLEAR_TOP'. – neevek