„Android“ programos gyvavimo ciklas

pagrindinis-vadovas-programavimas-android-2

Kai pradedate programuoti tokia kalba kaip C ++ ar Java, pirmiausia mokoma pagrindinio metodo, taško, į kurį operacinė sistema paskambins mums paleidus programą.

„Android“ sistemoje nėra pagrindinio metodo, tačiau yra keli mūsų veiklos metodai, kuriuos SSOO iškvies, kai jie atsiras svarbūs įvykiai. Šiame skyriuje mes išsamiai išnagrinėsime, kas yra tie įvykiai ir kaip jie veikia. visą veiklos ciklą „Android“. Oficiali dokumentacija siūlo išsamų šios temos paaiškinimą, čia mes išnagrinėsime svarbiausius elementus ir keletą dažniausiai pasitaikančių klaidų juos tvarkant.

„Android“ gyvenimo ciklas atitinka šią schemą:

„android“ gyvavimo ciklas

Gyvenimo ciklo įvykiai

  1. „onCreate“ (paketas)
    • Atstovauja momentui, kai sukuriama veikla. Šį metodą paprastai sugeneruos vedlys, kurdamas naują veiklą „Android“, ir mes sukursime viską, ko reikės veiklai. Jei anksčiau išsaugojome veiklos duomenis „Bundle“ objekte, galime juos naudoti atkurdami. Paprastai mes jo nenaudosime.
  2. onStart ()
    • Veikla tęsis būti ekrane, nors nebūtinai matomas. Jei ateisime iš stotelės, pirmiausia pereisime per „Restart“ ().
  3. onRestart ()
    • Ankstesnis „onStart“ (), kai skambiname į „onStop“ ().
  4. onResume ()
    • Prasidės veikla reaguoti į sąveiką Vartotojas.
  5. onPause ()
    • Veikla bus nustok atsakyti prie vartotojo sąveikos.
  6. „onStop“ ()
    • Veikla visiškai atiteko fonas.
  7. onDestroy ()
    • Veikla jis bus sunaikintas ir išleisti jūsų ištekliai.

Kai reikės įgyvendinti vieną iš šių metodų, tai padarysime papildydami savo veiklą šiais profiliais:

viešoji klasė „MyActivity“ pratęsia „Activity“ {protected void onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); ...} apsaugotas negaliojantis onStart () {super.onStart (); ...} apsaugotas negaliojantis onRestart () {super.onRestart (); ...} apsaugotas negaliojantis onResume () {super.onResume (); ...} apsaugotas negaliojantis onPause () {... super.onPause (); } protected void onStop () {... onStop (); } protected void onDestroy () {... super.onDestroy (); }}

Svarbu išlaikyti superklasės metodo iškvietimas kad nesusidurtų su staigmenomis. Turi būti išlaikytos kiekvieno renginio užduotys, kurios yra aukščiau mūsų veiklos. Šis skambutis vyks įvesties įvykių pradžioje ir išvesties įvykių pabaigoje. Tokiu būdu išvengsime netikėtumų, nes mums reikalingi, bet mūsų nekontroliuojami veiklos elementai bus sukurti prieš juos naudojant ir vėliau bus sunaikinti.

Mes neprivalome pridėti visų įvykių, tie, kurių mums nereikia, naudos numatytąjį diegimą. Metodai, kuriuos dažnai naudosime - ir nerekomenduojama liesti kitų - yra „onCreate“, „onPause“ ir „onRestart“.

„OnCreate“ prasmė yra aiški: tai vieta, kur mes pasikrausime reikalingus išteklius, nuomones ir visa kita, ko mums reikia. Vienintelis išvesties metodas, į kurį sutelksime dėmesį, yra „Pause“. „OnStop“ ir „onDestroy“ vengimo priežastis yra ta, kad mes jų nevaldome. „onPause“ bus vykdoma, kai tik programa pasirodys iš priekio, o kitus du valdys operacinė sistema, atsižvelgdama į jūsų poreikius. Jie niekada negali būti įvykdyti! Tai daroma siekiant išvengti pakartotinio veiklos sukūrimo išlaidų, jei pereisime nuo veiklos prie darbalaukio ir atvirkščiai, o operacinė sistema išlaisvins naudojamus išteklius tik tada, jei jos reikės, ir ji neprivalo dalyvauti visuose atvirus procesus.

Tai reiškia, kad manysime, jog programa mirs įvykdžius „onPause“ ir kad ji yra mūsų paskutinė galimybė išsaugoti duomenis kad turime išsaugoti ir nutraukti naudojamas paslaugas, pvz., geografinę vietą. Jei mes sustabdėme paslaugas, tinkama vieta joms paleisti iš naujo yra „Restart“.

Kiti metodai, kurių mums nereikės naudoti daug. Dažnas atvejis, kai mums to prireiks, bus integravus trečiųjų šalių bibliotekas, tokias kaip „Facebook“ ar „Flurry“. Tokiais atvejais mūsų bus paprašyta suderinti mūsų veiklos metodus su jūsų kodu. Pavyzdžiui, norėdami užregistruoti „Flurry“ seansą, mūsų bus paprašyta pradėti seansą naudojant „onStart“ metodą.

Keletas naudingų idėjų

  • Prisiminkite, kam skirtas kiekvienas renginys. Jums visada reikės „onCreate“ ir dažnai reikės „onPause“ ir „onResume“, kad sustabdytumėte ir vėl paleistumėte daugiausiai paslaugų.
  • Nelieskite kitų įvykių jei jums to aiškiai nereikia.
  • Nepasitikėkite „onStop“ ir „onDestroy“, jie niekada negalės būti vadinami. Išsaugokite viską, ko reikia „onPause“.
  • Venkite naudoti ne galutinius statinius kintamuosius. Programą vis tiek galima įkelti, kai grįšite, ir jos išlaikys vertes, kurias paliko. Jei neturite kito pasirinkimo, kaip juos naudoti, būtinai iš naujo nustatykite jų vertes, kai grįšite į pirmą planą.

Daugiau informacijos - Pagrindinis „Android“ programavimo vadovas


Jus domina:
Kaip pašalinti virusus „Android“
Sekite mus „Google“ naujienose

Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: „Actualidad“ tinklaraštis
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.