Pod tym linkiem masz przykładowe zastosowanie SharedPreferences u źródła
https://developer.android.com/guide/topics/data/data-storage.html#pref
Jeżeli o mnie chodzi o ile wczytywanie wartości najczęściej robię w onCreate(),to
zapis danych albo właśnie w onStop() jak w przykładzie,lub przy bardziej złożonych ramkach zapis umieszczam w onBackPressed() (back navigation) oraz w
onOptionsItemSelected(MenuItem item)
obsługując up navigation
Wtedy mam pewność, że ważne dla aplikacji dane zostaną zapisane.