Что по умолчанию сохраняется в onSaveInstanceState() и где это задокументировано?

руководство от разработчиков Android довольно неоднозначно.

Реализация onSaveInstanceState() по умолчанию сохраняет информацию о состоянии иерархии представлений активности, такую ​​как текст в виджете EditText или положение прокрутки виджета ListView.

Насколько я знаю, они хранятся:

  • Intent, с которого началась ваша деятельность (выявлено в ходе тестирования)
  • свойства объектов в графе представления Activity, если им был присвоен идентификатор, предположительно
  • Fragment, которые не находятся в заднем стеке и для которых настроено сохранение их экземпляра (Fragment#setRetainInstance(boolean))

Однако в API я не нашел описания такого контракта и не уверен, что этот список является исчерпывающим. Мне не удалось найти документацию, в которой бы четко описывалось, что хранится.

Это возможный дубликат этот вопрос , однако этот вопрос не требует источников или исчерпывающей информации, и ответы не дают этого. Должны ли разработчики просто просматривать SDK в каждом представлении, действии, фрагменте, AutofillManager и т. д., которые они используют, чтобы увидеть, что сохраняется, а что нет? Какие гарантии?


person Radu Stefan Popescu    schedule 13.04.2018    source источник
comment
по умолчанию ничего не сохраняется. Вы можете использовать его полностью самостоятельно.   -  person Chisko    schedule 13.04.2018
comment
Возможный дубликат Android View - что автоматически сохраняется и восстанавливается в действии   -  person Chisko    schedule 13.04.2018
comment
некоторые вещи сохраняются по умолчанию, если вы просматриваете SDK: иерархия окон с использованием Window#saveHierarchyState(), но не уверен, что это делает явно; некоторые фрагменты; и что-то связанное с AutofillManager, но это только в Activity и не задокументировано в SDK API.   -  person Radu Stefan Popescu    schedule 13.04.2018