Sobes.tech
Junior — Middle

Ի՞նչ պետք է հաշվի առնել հավելվածի վիճակը պահպանելիս onSaveInstanceState մեթոդով։

sobes.tech AI

Պատասխան AI-ից

Օգտագործելիս onSaveInstanceState, կարևոր է հիշել՝

  • Պահպանեք միայն փոքր և անհրաժեշտ տվյալներ, օրինակ՝ UI-ի վիճակը (տեքստ դաշտերում, ընտրված տարրեր):
  • Չպահպանեք մեծ օբյեկտներ կամ տվյալներ, որոնք կարելի է վերականգնել այլ կերպ (օրինակ՝ տվյալների բազայից կամ ցանցից):
  • onSaveInstanceState կոչվում է նախքան ակտիվության ոչնչացումը, օրինակ՝ էկրանին պտտվելու ժամանակ:
  • Տվյալների վերականգնումը տեղի է ունենում onCreate կամ onRestoreInstanceState մեթոդներում:
  • Օգտագործեք Bundle տվյալների պահպանման համար, աջակցում է հիմնական տիպերին, Serializable, Parcelable:

Օրինակ՝ TextView-ից տեքստի պահպանումը:

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)
}