Sobes.tech
Junior

Kādus darbības cikla metodes jūs zināt un kā tie tiek izpildīti?

sobes.tech AI

Atbilde no AI

  • onCreate(): Izsauc pirmo reizi, kad izveidotu aktivitāti. Izmanto UI un datu inicializācijai.
  • onStart(): Aktivitāte kļūst redzama lietotājam.
  • onResume(): Aktivitāte kļūst aktīva un atrodas priekšplānā. Lietotājs var ar to mijiedarboties.
  • onPause(): Izsauc, kad aktivitāte pāriet uz fonu vai cita aktivitāte daļēji to aizsedz. Izmanto stāvokļa saglabāšanai, ko nepieciešams ātri atjaunot.
  • onStop(): Aktivitāte vairs nav redzama lietotājam. Izmanto resursu atbrīvošanai.
  • onDestroy(): Izsauc pirms aktivitātes iznīcināšanas. Izmanto resursu galīgai tīrīšanai.
  • onRestart(): Pēc onStop(), kad aktivitāte atkal kļūst redzama.

Metožu izpildes secība palaišanas laikā: onCreate() -> onStart() -> onResume().

Secība, pārejot uz fonu (piemēram, nospiežot Home pogu): onPause() -> onStop().

Atgriežoties no fona: onRestart() -> onStart() -> onResume().

Secība, iznīcinot aktivitāti: onPause() -> onStop() -> onDestroy().

Pagriežot ekrānu, aktivitāte tiek iznīcināta un atkal izveidota. Secība: onPause() -> onStop() -> onDestroy() -> onCreate() -> onStart() -> onResume(). Stāvokļa saglabāšanai izmanto onSaveInstanceState() (izsauc pirms onStop()) un atjauno onCreate() vai onRestoreInstanceState() (izsauc pēc onStart()).

class MyActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main) // UI inicializācija
        // Stāvokļa atjaunošana no savedInstanceState
    }

    override fun onStart() {
        super.onStart()
        // Aktivitāte kļūst redzama
    }

    override fun onResume() {
        super.onResume()
        // Aktivitāte ir priekšplānā, pieejama mijiedarbībai
    }

    override fun onPause() {
        super.onPause()
        // Aktivitāte pāriet fonā
        // Ātra stāvokļa saglabāšana
    }

    override fun onStop() {
        super.onStop()
        // Aktivitāte nav redzama
        // Resursu atbrīvošana
    }

    override fun onDestroy() {
        super.onDestroy()
        // Aktivitāte tiek iznīcināta
        // Galīgā resursu tīrīšana
    }

    override fun onRestart() {
        super.onRestart()
        // Aktivitāte atgriežas no fona
    }

    override fun onSaveInstanceState(outState: Bundle) {
        super.onSaveInstanceState(outState)
        // Stāvokļa saglabāšana pirms iznīcināšanas
    }

    override fun onRestoreInstanceState(savedInstanceState: Bundle) {
        super.onRestoreInstanceState(savedInstanceState)
        // Stāvokļa atjaunošana
    }
}