Amarengo

Articles and news

Modalità di avvio in Android

Le modalità di avvio sono le istruzioni su come avviare le attività. Sono di quattro tipi che sono riportati di seguito.

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

Se non si definisce alcuna modalità di avvio, sarà standard per impostazione predefinita.

Come aggiungere modalità di avvio

È possibile aggiungere una modalità di avvio da Android Manifest. Il codice seguente mostra come farlo.

1
2

<attività Android:nome=”.Obbiettivo principale l’allevamento”
android:launchMode=”singleTop”></attività>

Standard

Se non definire eventuali modalità di lancio per impostazione predefinita l’attività verrà standard modalità di lancio. In questo caso, una nuova istanza dell’attività verrà creata ogni volta che si avvia un’attività anche se è presente nello stack.

Esempio ->

Supponiamo che il nostro stack corrente è Un -> B> C

e ci avviare l’Attività B di nuovo con il lancio in modalità “standard”

quindi il nuovo stack sarà Un -> B>- C> B.

SingleTop

Come suggerisce il nome, con questa modalità di lancio di una sola istanza dell’attività sarà presente se si è in cima.

Esempio ->

  1. Supponiamo che il nostro stack corrente è Un -> B> C
    e ci avviare l’Attività B di nuovo con il lancio in modalità “singleTop”
    quindi il nuovo stack sarà Un -> B>- C> B.
  2. Supponiamo che il nostro stack corrente è Un -> B> C
    e ci avviare l’Attività C di nuovo con il lancio in modalità “singleTop”
    quindi il nuovo stack sarà Un -> B> C e l’intento sarà passato per la onNewIntent() metodo.

SingleTask

Con questa modalità di avvio, l’attività avrà solo una singola istanza nello stack. Se l’istanza non è presente, ne creerà una nuova e se è presente, quella vecchia riceverà il callback nel metodo onNewIntent ().

Esempio ->

Supponiamo che il nostro stack attuale sia A – > B – > C- > D

e lanciamo nuovamente l’attività B con la modalità di avvio”singleTask”

quindi il nuovo stack sarà A -> B.

Come puoi vedere che il callback è stato ricevuto sulla vecchia istanza e le attività C e D vengono distrutte.

SingleInstance

Questo è simile a “singleTask” tranne che l’attività con la modalità di avvio “singleInstance” verrà creata in un nuovo stack.

Esempio ->

Supponiamo che il nostro stack corrente è Un -> B> C

e ci avviare l’Attività D con la modalità di lancio “singleInstance”

poi ci saranno due pile

  1. A -> B> C
  2. D

Se si attività di chiamata E poi sarà aggiunto al 1 ° stack.

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

Richiamando nuovamente l’attività D richiamerà la stessa attività dal secondo stack e passerà l’intento a onNewIntent().

Android consiglia di utilizzare il comportamento predefinito, ma se vuoi davvero cambiarlo, allora questo è il modo in cui puoi farlo.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.