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