Android Mode de lancement d'activité


Exemple

Le mode de lancement définit le comportement d'une activité nouvelle ou existante dans la tâche.
Il existe des modes de lancement possibles:

  • la norme
  • unique
  • singleTask
  • seule instance

Il doit être défini dans le manifeste Android dans l'élément <activity/> tant android:launchMode .

<activity
    android:launchMode=["standard" | "singleTop" | "singleTask" | "singleInstance"] />

La norme:

Valeur par défaut. Si ce mode est défini, une nouvelle activité sera toujours créée pour chaque nouvelle intention. Il est donc possible d'obtenir de nombreuses activités du même type. Une nouvelle activité sera placée en haut de la tâche. Il existe une différence pour les différentes versions d'Android: si l'activité commence à partir d'une autre application, sur les androïdes <= 4.4, elle sera placée dans la même tâche que l'application de démarrage, mais la nouvelle tâche> = 5.0 sera créée.

SingleTop:

Ce mode est presque identique à la standard . De nombreuses instances d'activité singleTop peuvent être créées. La différence est que, si une instance d'activité existe déjà en haut de la pile en cours, onNewIntent() sera appelé au lieu de créer une nouvelle instance.

SingleTask:

L'activité avec ce mode de lancement ne peut avoir qu'une seule instance dans le système . Une nouvelle tâche pour l'activité sera créée, si elle n'existe pas. Sinon, la tâche avec activité sera déplacée vers l'avant et onNewIntent sera appelée.

Seule instance:

Ce mode est similaire à singleTask . La différence est que la tâche qui détient une activité avec singleInstance ne peut avoir que cette activité et rien de plus. Lorsque l'activité d' singleInstance crée une autre activité, une nouvelle tâche sera créée pour placer cette activité.