Amarengo

Articles and news

moduri de lansare în Android

moduri de lansare sunt instrucțiunile cu privire la modul în care ar trebui să înceapă activitățile. Acestea sunt de patru tipuri, care sunt prezentate mai jos.

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

dacă nu definiți niciun mod de lansare, acesta va fi standard în mod implicit.

cum se adaugă moduri de lansare

puteți adăuga un mod de lansare din manifestul Android. Codul de mai jos arată cum se face.

1
2

<activitate android: nume=”.Mainactivitate „
android: launchMode= „singleTop” >< /activitate>

Standard

dacă nu definiți niciun mod de lansare, atunci în mod implicit activitatea va avea modul de lansare standard. În acest caz, o nouă instanță a activității va fi creată de fiecare dată când lansați o activitate, chiar dacă este prezentă în stivă.

exemplu ->

să presupunem că stiva noastră actuală este A -> B -> C

și lansăm din nou activitatea B cu modul de lansare „standard”

atunci Noua stivă va fi a -> B -> C -> B.

SingleTop

după cum sugerează și numele, cu acest mod de lansare doar o singură stivă exemplu de activitate va fi prezent în cazul în care este pe partea de sus.

exemplu ->

  1. să presupunem că stiva noastră curentă este A -> B -> C
    și lansăm din nou activitatea B cu modul de lansare „singleTop”
    atunci Noua stivă va fi a -> B -> C -> B.
  2. să presupunem că stiva noastră curentă este a -> B -> C
    și lansăm din nou activitatea C cu modul de lansare „singletop”
    atunci Noua stivă va fi a -> b -> C și intenția va fi transmisă metodei onnewintent ().

SingleTask

cu acest mod de lansare, activitatea va avea doar o singură instanță în stivă. În cazul în care instanța nu este acolo, atunci se va crea unul nou și dacă este acolo, atunci cel vechi va primi apel invers în onNewIntent() metoda.

exemplu ->

să presupunem că stiva noastră curentă este A- > B- > C- > D

și lansăm din nou activitatea B cu modul de lansare „singleTask”

atunci Noua stivă va fi a – > B.

după cum puteți vedea că apelul invers a fost primit pe vechea instanță și activitățile C și D sunt distruse.

SingleInstance

acest lucru este similar cu „singleTask”, cu excepția activității cu modul de lansare „singleInstance” va fi creat într-o nouă stivă.

exemplu ->

să presupunem că stiva noastră curentă este A -> B -> C

și lansăm activitatea D cu modul de lansare „singleInstance”

atunci vor exista două stive

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

dacă apelați activitate E, atunci acesta va fi adăugat la stiva 1.

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

Apelarea din nou a activității D va apela aceeași activitate din a 2-a stivă și va transmite intenția către onNewIntent().

Android vă recomandă să utilizați comportamentul implicit, dar dacă doriți cu adevărat să schimbați acest lucru, atunci acesta este modul în care îl puteți face.

Lasă un răspuns

Adresa ta de email nu va fi publicată.