руководство от разработчиков Android довольно неоднозначно.
Реализация onSaveInstanceState() по умолчанию сохраняет информацию о состоянии иерархии представлений активности, такую как текст в виджете EditText или положение прокрутки виджета ListView.
Насколько я знаю, они хранятся:
Intent
, с которого началась ваша деятельность (выявлено в ходе тестирования)- свойства объектов в графе представления
Activity
, если им был присвоен идентификатор, предположительно Fragment
, которые не находятся в заднем стеке и для которых настроено сохранение их экземпляра (Fragment#setRetainInstance(boolean)
)
Однако в API я не нашел описания такого контракта и не уверен, что этот список является исчерпывающим. Мне не удалось найти документацию, в которой бы четко описывалось, что хранится.
Это возможный дубликат этот вопрос , однако этот вопрос не требует источников или исчерпывающей информации, и ответы не дают этого. Должны ли разработчики просто просматривать SDK в каждом представлении, действии, фрагменте, AutofillManager и т. д., которые они используют, чтобы увидеть, что сохраняется, а что нет? Какие гарантии?
Window#saveHierarchyState()
, но не уверен, что это делает явно; некоторые фрагменты; и что-то связанное с AutofillManager, но это только вActivity
и не задокументировано в SDK API. - person Radu Stefan Popescu   schedule 13.04.2018