Фрагменты Android, сохраняющие данные

Как лучше всего сохранять данные внутри фрагмента, когда его деятельность проходит цикл onCreate / Destroy, как в случае вращения?

В нашей настройке у нас есть потенциально большие списки, загруженные с наших серверов в адаптер пользовательских списков фрагментов, и мы хотим сгладить UX, не заставляя их перезагружаться при ротации. Проблема, с которой мы столкнулись при установке фрагмента retainInstance = true; является то, что наш адаптер имеет ссылку на контекст исходного действия и, следовательно, будет утечка памяти. Можем ли мы просто сохранить данные во фрагменте и заново создать адаптер; и если да, то действительно ли это правильная практика?

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

Другая альтернатива, которую я вижу, которая, кажется, является * лучшим решением, состоит в том, чтобы сохранить данные в пакет и восстановить в новый фрагмент после ротации; Тем не менее, у нас есть довольно много объектов, которые необходимо хранить в приложении, и некоторые из наших объектов являются сложными, содержат списки, несколько типов, и было бы затруднительно сделать их разборчивыми. Есть ли лучшее решение или нам нужно кусать пули и делать их пригодными для продажи?

Ответы на вопрос(3)

Ваш ответ на вопрос