onSaveInstanceState предел? - PullRequest
16 голосов
/ 21 марта 2012

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

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

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

Ответы [ 2 ]

18 голосов
/ 31 марта 2012

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

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

0 голосов
/ 30 марта 2012

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...