Android lietojumprogrammas dzīves cikls

pamata rokasgrāmata-programmēšana-android-2

Sākot programmēt tādā valodā kā C ++ vai Java, vispirms tiek mācīta galvenā metode, punkts, uz kuru operētājsistēma izsauks, kad mēs palaidīsim mūsu lietojumprogrammu.

Android ierīcē nav galvenās metodes kā tādas, taču ir vairākas mūsu darbības metodes, kuras SSOO izsauks, kad tās notiks svarīgi notikumi. Šajā nodaļā mēs padziļināti izpētīsim, kas ir šie notikumi un kā tas darbojas. pilns darbības cikls no Android. Oficiālā dokumentācija piedāvā plašu šīs tēmas skaidrojumu, šeit mēs izpētīsim vissvarīgākos elementus kopā ar dažām izplatītākajām kļūdām, rīkojoties ar tiem.

Android dzīves cikls notiek saskaņā ar šo shēmu:

android dzīves cikls

Dzīves cikla notikumi

  1. onCreate (pakete)
    • Pārstāv brīdi, kad darbība tiek izveidota. Šo metodi vednis parasti ģenerēs, veidojot jaunu darbību Android ierīcē, un tieši šeit mēs izveidosim visu, kas nepieciešams darbībai. Ja mēs iepriekš esam saglabājuši aktivitātes datus Bundle objektā, mēs varam tos izmantot, lai tos atjaunotu. Parasti mēs to neizmantosim.
  2. onStart ()
    • Darbība notiks būt uz ekrāna, kaut arī tas nav obligāti redzams. Ja mēs nonāksim no pieturas, mēs vispirms iziesim onRestart ().
  3. onRestart ()
    • Iepriekš uz onStart (), kad mēs saņēmām zvanu uz onStop ().
  4. onResume ()
    • Aktivitāte sāksies reaģēt uz mijiedarbību lietotāja.
  5. onPause ()
    • Darbība būs pārtrauciet atbildēt lietotāja mijiedarbībai.
  6. onStop ()
    • Darbība ir pilnībā aizgājusi fons.
  7. onDestroy ()
    • Darbība tas tiks iznīcināts un jūsu resursi ir atbrīvoti.

Kad mums būs jāievieš kāda no šīm metodēm, mēs to darīsim, papildinot savu darbību ar šiem profiliem:

publiskā klase MyActivity paplašina darbību {protected void onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); ...} aizsargāts void onStart () {super.onStart (); ...} aizsargāts void onRestart () {super.onRestart (); ...} aizsargāts void onResume () {super.onResume (); ...} aizsargāts void onPause () {... super.onPause (); } aizsargāts void onStop () {... onStop (); } aizsargāts spēkā neesošs onDestroy () {... super.onDestroy (); }}

Ir svarīgi saglabāt superklases metodes izsaukums lai nesastaptos ar pārsteigumiem. Ir jāsaglabā katra pasākuma uzdevumi, kas pārsniedz mūsu darbību. Šis zvans tiks novirzīts uz ievades notikumu sākumu un izejas notikumu beigām. Tādā veidā mēs izvairīsimies no pārsteigumiem, jo ​​nepieciešamie darbības elementi, kas nebūs mūsu kontrolē, tiks izveidoti pirms to izmantošanas un pēc tam tiks iznīcināti.

Mums nav jāpievieno visi notikumi, tie, kas mums nav vajadzīgi, izmantos noklusējuma ieviešanu. Metodes, kuras mēs bieži izmantosim - un nav ieteicams pieskarties pārējām - ir onCreate, onPause un onRestart.

OnCreate nozīme ir skaidra: tā ir vieta, kur mēs ielādēsim nepieciešamos resursus, viedokļus un visu nepieciešamo. Izvadei vienīgā metode, kurai pievērsīsimies, ir onPause. Iemesls izvairīties no onStop un onDestroy ir tāds, ka mums nav nekādas kontroles pār tiem. onPause darbosies ikreiz, kad lietojumprogramma iznāks no priekšplāna, bet pārējās divas operētājsistēma vadīs atbilstoši jūsu vajadzībām. Viņus nekad nevar izpildīt! Tas tiek darīts, lai izvairītos no darbības atkal un atkal radīšanas izmaksām, ja mēs pārietam no aktivitātes uz darbvirsmu un otrādi, un operētājsistēma atbrīvos izmantotos resursus tikai tad, ja tie būs nepieciešami, un tai nav jāapmeklē visi atklātie procesi.

Tas nozīmē, ka mēs pieņemsim, ka lietojumprogramma mirs pēc onPause izpildes un ka tā ir mūsu pēdējā iespēja saglabāt datus ka mums ir jāsaglabā un jāpārtrauc izmantotie pakalpojumi, piemēram, ģeogrāfiskā atrašanās vieta. Ja mēs esam apturējuši pakalpojumus, atbilstošā vieta to restartēšanai ir ieslēgta no jauna.

Pārējās metodes, kuras mums daudz nevajadzēs izmantot. Bieži gadījums, kad mums tas būs vajadzīgs, būs tad, kad integrēsim trešo pušu bibliotēkas, piemēram, Facebook vai Flurry. Šādos gadījumos mums tiks lūgts saskaņot mūsu darbības metodes ar jūsu kodu. Piemēram, lai reģistrētu Flurry sesiju, mums tiks lūgts sākt sesiju ar onStart metodi.

Dažas noderīgas idejas

  • Atcerieties, kam paredzēts katrs pasākums. Jums vienmēr būs nepieciešams onCreate, un bieži vien jums būs nepieciešams onPause un onResume, lai apturētu un atsāktu visizplatītākos pakalpojumus.
  • Neaiztieciet citus notikumus ja jums tas nav skaidri vajadzīgs.
  • Neuzticieties onStop un onDestroy, viņus nekad nevar saukt. Saglabājiet visu nepieciešamo vietnē onPause.
  • Izvairieties no galīgo statisko mainīgo izmantošanas. Lietotni joprojām var ielādēt, kad atgriezīsities, un tā saglabās vērtības, kuras viņi atstāja. Ja jums nav citas izvēles kā tās izmantot, noteikti atgriezieties to vērtībās, kad atgriezīsities priekšplānā.

Vairāk informācijas - Pamata rokasgrāmata programmēšanai Android ierīcēs


Jūs interesē:
Kā noņemt vīrusus operētājsistēmā Android
Sekojiet mums pakalpojumā Google ziņas

Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgs par datiem: Actualidad emuārs
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.