Ограничение onSaveInstanceState?

Поскольку устаревание onRetainNonConfigurationInstance я все больше использовал платформу для изменений конфигурации. Поскольку я использую ViewPager для хранения моих основных фрагментов, я не могу использовать setRetainInstance, что ограничивает мои изменения в конфигурации, чтобы использовать onSaveInstanceState, как стандартный Activity или View.

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

tl; dr: Имеет ли onSaveInstanceState ограничение по размеру того, что вы проходите через него?

Ответ 1

Было бы полезно сказать что-то большее, чем "довольно значительное". :)

Эти данные проходят через IPC, а предел IPC составляет около 1 МБ. Вы хотите, чтобы ваш размер сортировки значительно меньше этого; 100K, вероятно, хороший максимум. И действительно, вы хотите, чтобы это было как можно меньше (подумайте о том, что вы там вложили и не теряете пространство), потому что эти данные должны храниться системой в ОЗУ, даже когда ваш собственный процесс убит.

Ответ 2

Предел - это ограничение памяти, и поскольку у вас нет ошибок OutOfMemory, это должно быть хорошо.

Просто убедитесь, что у объекта передачи нет или Контекст, потому что это может привести к быстрому увеличению использования памяти, если пользователь постоянно меняет ориентацию.