Junior — Middle
Τι πρέπει να λαμβάνεται υπόψη κατά την αποθήκευση της κατάστασης της εφαρμογής με τη μέθοδο onSaveInstanceState;
sobes.tech AI
Απάντηση από AI
Κατά τη χρήση του onSaveInstanceState, είναι σημαντικό να θυμάστε:
- Αποθηκεύστε μόνο μικρά και απαραίτητα δεδομένα, όπως η κατάσταση της διεπαφής χρήστη (κείμενο στα πεδία, επιλεγμένα στοιχεία).
- Μην αποθηκεύετε μεγάλα αντικείμενα ή δεδομένα που μπορούν να ανακτηθούν με άλλο τρόπο (π.χ. από βάση δεδομένων ή δίκτυο).
- Το onSaveInstanceState καλείται πριν από την καταστροφή της δραστηριότητας, π.χ. κατά την περιστροφή της οθόνης.
- Η ανάκτηση δεδομένων γίνεται στη μέθοδο onCreate ή onRestoreInstanceState.
- Χρησιμοποιήστε το Bundle για την αποθήκευση δεδομένων, υποστηρίζει primitive τύπους, Serializable, Parcelable.
Παράδειγμα αποθήκευσης κειμένου από ένα EditText:
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)
}