Android'da Activity ning hayot sikli haqida nima deyish mumkin?
sobes.tech AI
AIdan javob
Activity ning hayot sikli — bu har bir Activity nusxasi yaratishdan boshlab yoq qilishgacha bolgan holatlar va ulardagi o'tishlar to'plamidir. Bu callback metodlar to'plami bilan belgilangan.
Hayot siklining asosiy callback metodlari:
onCreate(): Birinchi martaActivityyaratilganda chaqiriladi. Bu yerda UI ni boshlash, ma'lumotlarni bog'lash va boshqa bir martalik harakatlar amalga oshiriladi.onStart():Activityfoydalanuvchi uchun ko'rinadigan bo'lsa, lekin hali fokus olmagan bo'lsa chaqiriladi.onResume():Activityfokus olganda va faol bo'lsa chaqiriladi. Bu yerda odatda animatsiyalar va boshqa interaktiv harakatlar boshlanadi.onPause():Activityfokusni yo'qotganda, lekin hali ko'rinadigan bo'lsa chaqiriladi (masalan, ustida yarim shaffof dialog oynasi bo'lsa). Bu yerda resurslarni ko'p ishlatadigan operatsiyalarni to'xtatish kerak.onStop():Activityfoydalanuvchi uchun ko'rinmay qolganida chaqiriladi. Bu yerda saqlanmagan ma'lumotlar saqlanadi va kerak bo'lmagan resurslar bo'shatiladi.onDestroy():Activityyo'q qilinishidan oldin chaqiriladi. Bu yerda qolgan barcha resurslar bo'shatiladi.onRestart():onStop()dan so'ng,Activityyana ko'rsatilganda chaqiriladi. BuonStart()ga olib boradi.
Grafik tarzda, hayot sikli quyidagicha tasvirlanishi mumkin:
Created -> Started -> Resumed -> Paused -> Stopped -> Destroyed
Shuningdek, o'tishlar ham mavjud:
- Created -> Started (
onStart()dan keyin) - Started -> Resumed (
onResume()dan keyin) - Resumed -> Paused (fokus yo'qotilganda)
- Paused -> Resumed (fokus qayta olganda)
- Paused -> Stopped (to'liq yashirilganda)
- Stopped -> Destroyed (faoliyat tugatilganda)
- Stopped -> Restarted -> Started (
onRestart()dan keyin)
Ushbu callback metodlarda Activity holatini to'g'ri boshqarish muhim, chunki bu xotira oqib ketishlarini oldini oladi va ilovaning to'g'ri ishlashini ta'minlaydi. Holatni saqlash uchun onSaveInstanceState() ishlatiladi (onStop()dan oldin), va tiklash onCreate() yoki onRestoreInstanceState() da amalga oshiriladi (onStart()dan keyin).
onSaveInstanceState() dan foydalanish misoli:
// Holatni saqlash
override fun onSaveInstanceState(outState: Bundle) {
outState.putString("my_data", "some_value")
super.onSaveInstanceState(outState)
}
// Holatni tiklash
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// ...
if (savedInstanceState != null) {
val myData = savedInstanceState.getString("my_data")
// myData dan foydalanish
}
}