You are on page 1of 4

ivotni ciklus aktivnosti

Aktivnosti su neobian koncept u programiranju specifian za Android operacijski sustav. Android aplikacije mogu biti pokrenuti preko bilo koje aktivnosti unutar aplikacije. Ako se aplikacija srui ili ju operacijski sustav zavri, operacijski sustav ju moe pokuati otvoriti kod zadnje aktivnosti ili bilo gdje unutar hrpe prolih aktivnosti. Dodatno, OS moe 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 doputaju developerima da implementiraju funkcionalnosti koje su nune da zadovolje i upravljanje resursima njihovih aplikacija. Jako je vano 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, ruenje aplikacije, veliko zauzee resursa i mogui utjecaj na stabilnost samog operacijskog sustava. Stanja aktivnosti

Android OS koristi red prioriteta za pomo u upravljanju aktivnostima koje se izvravaju na ureaju. Prema stanju u kojem je odreena Android aktivnost, bit e joj dodijeljen odreeni prioritet unutar OS-a. Sistem prioriteta pomae Androidu identificirati aktivnosti koje se vie ne koriste, doputajui OS-u da povrati memoriju i resurse. Slijedei dijagram prikazuje stanja kroz koje aktivnost moe proi tijekom svog ivotnog ciklusa

Ova stanja mogu biti podijeljena u tri glavne grupe na slijedei nain: a) Aktivne ili pokrenute aktivnosti se smatraju aktivnim ili pokrenutim ako su u prednjem planu, na vrhu hrpe aktivnosti. Te aktivnosti se smatraju najviim prioritetom u hrpi Android aktivnosti i takve mogu biti prekinute jedino od strane OS-a u ekstremnim situacijama, poput nedostatka memorije. b) Pauzirane kada ureaj 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 prikljuene upravitelju zadataka. Takve aktivnosti se smatraju drugim najveim 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 pokuati im dulje zapamtiti stanja i informacije, ali su najnieg prioriteta. Kao takve, OS e prvo prekidati te aktivnosti kada bude potrebno osloboditi resurse za aktivnosti vieg prioriteta.

Multitasking i ivotni ciklus aktivnosti UI i multitasking funkcionalnosti ponaaju se drugaije na Androidu nego na drugim mobilnim platformama. Na Androidu, ako korisnik ide korak nazad koristei gumb nazad na ureaju, to znai da smo se odmakli od aktivnosti i OS e ju prekinuti i povratiti e resurse. Kod koritenja multitasking mogunosti OS-a, poput zamjena aplikacije u prvom planu, korisnik mora pritisnuti home gumb da poalje 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 prua moan model za upravljanje stanjima aktivnosti unutar aplikacije. Kada se mijenja stanje aktivnosti, ona je obavijetena od OS-a, koji poziva specifine metode za tu aktivnost. Slijedei dijagram ilustrira metode i njihova imena.

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 prua aktivnosti snop (engl. Bundle) parametar, koji je rjenik za spremanje i prosljeivanje informacija o stanjima i objekte izmeu aktivnosti. Ako snop nije prazan, to oznaava da se aktivnost obnavlja. OnStart Metoda se poziva kada e aktivnost postati vidljiva korisnicima. Aktivnosti moraju premostiti ovu metodu ako trebaju izvriti neki specifian zadatak prije nego aktivnost postaje vidljiva, npr. osvjeavanje sadraja pogleda unutar aktivnosti. OnResume Metoda se poziva kada e aktivnost poeti ponovo komunicirati s korisnicima nakon to se vraa iz stanja pauze. Kada se ova metoda poziva, aktivnost se pomie na vrh hrpe aktivnosti i prima korisniki input. Aktivnosti mogu premostiti ovu metodu ako trebaju izvriti zadatak nakon to aktivnost poinje prihvaati korisniki input OnStop Metoda se poziva kada aktivnost nije vie vidljiva korisnicima, jer je neka druga aktivnost vraena iz pauze ili je pokrenuta i prekriva postojeu. To se moe dogoditi jer se aktivnost prekida od strane OS-a da se povrate resursi. Aktivnost mora premostiti ovu metodu ako treba izvriti zadatak prije nego se prekine. OnRestart Metoda se poziva nakon to se aktivnost zaustavila, prije nego se ponovo pokree. Nakon te metode uvijek slijedi OnStart. Aktivnost treba premostiti OnRestart ako treba izvriti zadatke prije nego se poziva OnStart. Npr. prethodna aktivnost je bila poslana u pozadinu i OnStop metoda je bila pozvana, ali OS jo nije unitio procese, tada treba premostiti OnRestart metodu. OnDestroy Ovo je konana metoda pozvana prije nego je aktivnost unitena. Nakon to je metoda pozvana, aktivnost e biti unitena i oslobodit e resurse ureaja. OS e permanentno unititi podatke stanja aktivnosti, a ako elimo pohraniti podatke prije unitenja, potrebno je premostiti metodu. OnSaveInstanceState Ova metoda daje aktivnosti mogunost da pohrani svoje podatke prije nego se dogodi promjena, poput promjene orijentacije ekrana.

You might also like