Sobes.tech
Junior — Middle

onSaveInstanceState usuli bilan ilovaning holatini saqlashda nima hisobga olinishi kerak?

sobes.tech AI

AIdan javob

onSaveInstanceState dan foydalanishda, quyidagilarni esda tutish muhim:

  • Faqat kichik va zaruriy ma'lumotlarni saqlang, masalan, UI holati (maydonlardagi matn, tanlangan elementlar).
  • Boshqa usul bilan tiklash mumkin bo'lgan katta obyektlar yoki ma'lumotlarni saqlamang (masalan, ma'lumotlar bazasi yoki tarmoqdan).
  • onSaveInstanceState faoliyatni yo'q qilishdan oldin chaqiriladi, masalan, ekran burilishida.
  • Ma'lumotlarni tiklash onCreate yoki onRestoreInstanceState metodlarida amalga oshiriladi.
  • Bundle yordamida ma'lumotlarni saqlang, primitiv turlar, Serializable, Parcelable qo'llab-quvvatlanadi.

EditText-dan matnni saqlash misoli:

override fun onSaveInstanceState(outState: Bundle) {
    super.onSaveInstanceState(outState)
    outState.putString("input_text", editText.text.toString())
}

override fun onRestoreInstanceState(savedInstanceState: Bundle) {
    super.onRestoreInstanceState(savedInstanceState)
    val text = savedInstanceState.getString("input_text")
    editText.setText(text)
}