Životni ciklus aktivnosti

4
Životni ciklus aktivnosti Aktivnosti su neobičan koncept u programiranju specifičan za Android operacijski sustav. Android aplikacije mogu biti pokrenuti preko bilo koje aktivnosti unutar aplikacije. Ako se aplikacija sruši ili ju operacijski sustav završi, operacijski sustav ju može pokušati otvoriti kod zadnje aktivnosti ili bilo gdje unutar hrpe prošlih aktivnosti. Dodatno, OS može pauzirati aktivnosti kada one nisu aktivne i povratiti kada mu fali memorije. Potrebno je dobro razmatranje da dopustimo aplikaciji da ispravno vrati svoje stanje ako se aktivnost resetira i ako ta aktivnost ovisi o podatcima od prethodnih aktivnosti. Životni ciklus aktivnosti je skup metoda koje OS poziva kroz život aktivnosti. Te metode dopuštaju developerima da implementiraju funkcionalnosti koje su nužne da zadovolje i upravljanje resursima njihovih aplikacija. Jako je važno da developeri aplikacije analiziraju zahtjeve svake aktivnosti da odrede koje metode životnog ciklusa aktivnosti moraju implementirati. Ako to ne naprave rezultati mogu biti nestabilna aplikacija, rušenje aplikacije, veliko zauzeće resursa i mogući utjecaj na stabilnost samog operacijskog sustava. Stanja aktivnosti Android OS koristi red prioriteta za pomoć u upravljanju aktivnostima koje se izvršavaju na uređaju. Prema stanju u kojem je određena Android aktivnost, bit će joj dodijeljen određeni prioritet unutar OS-a. Sistem prioriteta pomaže Androidu identificirati aktivnosti koje se više ne koriste, dopuštajući OS-u da povrati memoriju i resurse. Slijedeći dijagram prikazuje stanja kroz koje aktivnost može proći tijekom svog životnog ciklusa

description

Životni ciklus aktivnosti android aplikacija

Transcript of Životni ciklus aktivnosti

Page 1: Životni ciklus aktivnosti

Životni ciklus aktivnosti

Aktivnosti su neobičan koncept u programiranju specifičan za Android operacijski

sustav. Android aplikacije mogu biti pokrenuti preko bilo koje aktivnosti unutar aplikacije. Ako

se aplikacija sruši ili ju operacijski sustav završi, operacijski sustav ju može pokušati otvoriti

kod zadnje aktivnosti ili bilo gdje unutar hrpe prošlih aktivnosti. Dodatno, OS može pauzirati

aktivnosti kada one nisu aktivne i povratiti kada mu fali memorije. Potrebno je dobro

razmatranje da dopustimo aplikaciji da ispravno vrati svoje stanje ako se aktivnost resetira i

ako ta aktivnost ovisi o podatcima od prethodnih aktivnosti.

Životni ciklus aktivnosti je skup metoda koje OS poziva kroz život aktivnosti. Te

metode dopuštaju developerima da implementiraju funkcionalnosti koje su nužne da zadovolje

i upravljanje resursima njihovih aplikacija.

Jako je važno da developeri aplikacije analiziraju zahtjeve svake aktivnosti da odrede

koje metode životnog ciklusa aktivnosti moraju implementirati. Ako to ne naprave rezultati

mogu biti nestabilna aplikacija, rušenje aplikacije, veliko zauzeće resursa i mogući utjecaj na

stabilnost samog operacijskog sustava.

Stanja aktivnosti

Android OS koristi red prioriteta za pomoć u upravljanju aktivnostima koje se

izvršavaju na uređaju. Prema stanju u kojem je određena Android aktivnost, bit će joj dodijeljen

određeni prioritet unutar OS-a. Sistem prioriteta pomaže Androidu identificirati aktivnosti koje

se više ne koriste, dopuštajući OS-u da povrati memoriju i resurse. Slijedeći dijagram prikazuje

stanja kroz koje aktivnost može proći tijekom svog životnog ciklusa

Page 2: Životni ciklus aktivnosti

Ova stanja mogu biti podijeljena u tri glavne grupe na slijedeći način:

a) Aktivne ili pokrenute – aktivnosti se smatraju aktivnim ili pokrenutim ako su u

prednjem planu, na vrhu hrpe aktivnosti. Te aktivnosti se smatraju najvišim

prioritetom u hrpi Android aktivnosti i takve mogu biti prekinute jedino od strane

OS-a u ekstremnim situacijama, poput nedostatka memorije.

b) Pauzirane – kada uređaj ide u sleep mode ili je aktivnost još uvijek vidljiva, ali je

djelomice preklapa nova aktivnost koja je ili transparentna ili nije preko cijelog

ekrana, tada se aktivnost smatra pauziranom. Pauzirane aplikacije su još uvijek žive,

pamte sva stanja i podatke i ostaju priključene upravitelju zadataka. Takve

aktivnosti se smatraju drugim najvećim prioritetom u hrpi Android aktivnosti i kao

takve bit će prekinute samo kada je potrebno osloboditi resurse za aktivne ili

pokrenute aktivnosti.

c) Zaustavljene - aktivnosti koje su prekrivene drugim aktivnostima smatraju se

zaustavljene ili u pozadini. Zaustavljene aktivnosti će pokušati čim dulje zapamtiti

stanja i informacije, ali su najnižeg prioriteta. Kao takve, OS će prvo prekidati te

aktivnosti kada bude potrebno osloboditi resurse za aktivnosti višeg prioriteta.

Page 3: Životni ciklus aktivnosti

Multitasking i životni ciklus aktivnosti

UI i multitasking funkcionalnosti ponašaju se drugačije na Androidu nego na drugim mobilnim

platformama. Na Androidu, ako korisnik ide korak nazad koristeći gumb nazad na uređaju, to

znači da smo se odmakli od aktivnosti i OS će ju prekinuti i povratiti će resurse.

Kod korištenja multitasking mogućnosti OS-a, poput zamjena aplikacije u prvom planu,

korisnik mora pritisnuti home gumb da pošalje trenutnu aktivnost u pozadinu. Kada se to

dogodi, aktivnosti i njezini resursi će se prekidati prema ranije opisanom principu.

Metode životnog ciklusa aktivnosti

Android SDK pruža moćan model za upravljanje stanjima aktivnosti unutar aplikacije. Kada se

mijenja stanje aktivnosti, ona je obaviještena od OS-a, koji poziva specifične metode za tu

aktivnost. Slijedeći dijagram ilustrira metode i njihova imena.

Page 4: Životni ciklus aktivnosti

OnCreate

Metoda se poziva kada je aktivnost prvi puta kreirana. Aktivnost treba premostiti ovu metodu

da definira glavi pogled i ostale postavke, poput kreiranje pogleda i pripajanje podataka

listama. Ova metoda pruža aktivnosti snop (engl. Bundle) parametar, koji je rječnik za

spremanje i prosljeđivanje informacija o stanjima i objekte između aktivnosti. Ako snop nije

prazan, to označava da se aktivnost obnavlja.

OnStart

Metoda se poziva kada će aktivnost postati vidljiva korisnicima. Aktivnosti moraju premostiti

ovu metodu ako trebaju izvršiti neki specifičan zadatak prije nego aktivnost postaje vidljiva,

npr. osvježavanje sadržaja pogleda unutar aktivnosti.

OnResume

Metoda se poziva kada će aktivnost početi ponovo komunicirati s korisnicima nakon što se

vraća iz stanja pauze. Kada se ova metoda poziva, aktivnost se pomiče na vrh hrpe aktivnosti i

prima korisnički input. Aktivnosti mogu premostiti ovu metodu ako trebaju izvršiti zadatak

nakon što aktivnost počinje prihvaćati korisnički input

OnStop

Metoda se poziva kada aktivnost nije više vidljiva korisnicima, jer je neka druga aktivnost

vraćena iz pauze ili je pokrenuta i prekriva postojeću. To se može dogoditi jer se aktivnost

prekida od strane OS-a da se povrate resursi. Aktivnost mora premostiti ovu metodu ako treba

izvršiti zadatak prije nego se prekine.

OnRestart

Metoda se poziva nakon što se aktivnost zaustavila, prije nego se ponovo pokreće. Nakon te

metode uvijek slijedi OnStart. Aktivnost treba premostiti OnRestart ako treba izvršiti zadatke

prije nego se poziva OnStart. Npr. prethodna aktivnost je bila poslana u pozadinu i OnStop

metoda je bila pozvana, ali OS još nije uništio procese, tada treba premostiti OnRestart metodu.

OnDestroy

Ovo je konačna metoda pozvana prije nego je aktivnost uništena. Nakon što je metoda pozvana,

aktivnost će biti uništena i oslobodit će resurse uređaja. OS će permanentno uništiti podatke

stanja aktivnosti, a ako želimo pohraniti podatke prije uništenja, potrebno je premostiti metodu.

OnSaveInstanceState

Ova metoda daje aktivnosti mogućnost da pohrani svoje podatke prije nego se dogodi

promjena, poput promjene orijentacije ekrana.