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