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ēconStop(), 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
}
}