Amarengo

Articles and news

Modes de lancement dans Android

Les modes de lancement sont les instructions sur la façon dont les activités doivent être démarrées. Ils sont de quatre types qui sont donnés ci-dessous.

  1. standard
  2. singleTop
  3. singleTask
  4. singleInstance

Si vous ne définissez aucun mode de lancement, il sera standard par défaut.

Comment ajouter des modes de lancement

Vous pouvez ajouter un mode de lancement à partir du manifeste Android. Le code ci-dessous montre comment le faire.

1
2

< activité android: nom= ».MainActivity »
android:launchMode= »singleTop »> </ activité>

Standard

Si vous ne définissez aucun mode de lancement, l’activité aura par défaut le mode de lancement standard. Dans ce cas, une nouvelle instance de l’activité sera créée chaque fois que vous lancez une activité, même si elle est présente dans la pile.

Exemple ->

Supposons que notre pile actuelle soit A-> B-> C

et que nous lancions à nouveau l’activité B avec le mode de lancement « standard »

alors la nouvelle pile sera A->B->C->B.

SingleTop

Comme son nom l’indique, avec ce mode de lancement, une seule pile sera l’instance de l’activité sera présente si elle est en haut.

Exemple ->

  1. Supposons que notre pile actuelle soit A-> B-> C
    et que nous lancions à nouveau l’Activité B avec le mode de lancement « singleTop »
    alors la nouvelle pile sera A->B->C->B.
  2. Supposons que notre pile actuelle soit A-> B-> C
    et que nous lancions à nouveau l’Activité C avec le mode de lancement « singleTop »
    alors la nouvelle pile sera A-> B-> C et l’intention sera transmise à la méthodeNewintent().

SingleTask

Avec ce mode de lancement, l’activité n’aura qu’une seule instance dans la pile. Si l’instance n’est pas là, elle en créera une nouvelle et si elle est là, l’ancienne recevra le rappel dans la méthodeNewintent().

Exemple ->

Supposons que notre pile actuelle soit A-> B -> C -> D

et que nous lancions à nouveau l’activité B avec le mode de lancement « singleTask »

alors la nouvelle pile sera A-> B.

Comme vous pouvez le voir, le rappel a été reçu sur l’ancienne instance et les activités C et D sont détruites.

SingleInstance

Ceci est similaire à la « singleTask » sauf que l’activité avec le mode de lancement « singleInstance » sera créée dans une nouvelle pile.

Exemple ->

Supposons que notre pile actuelle est A-> B-> C

et que nous lançons l’activité D avec le mode de lancement « singleInstance »

alors il y aura deux piles

  1. A-> B-> C
  2. D

Si vous appelez l’activité E, elle sera ajoutée à la 1ère pile.

  1. A – > B – > C – > E
  2. D

Appeler à nouveau l’activité D appellera la même activité à partir de la 2ème pile et transmettra l’intention àNewintent().

Android vous recommande d’utiliser le comportement par défaut, mais si vous voulez vraiment le changer, voici comment vous pouvez le faire.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.