我有一个应用程序,它有一个带有导航抽屉的活动,可在许多碎片之间切换。这些片段显然有UI,所以我不应该直接在它们上面调用setRetainInstance(true)
。
对于像Bitmaps这样的数据太大而无法存储在onSaveInstanceState()
的Bundle中,保存/恢复状态的建议做法是什么? Official Docs建议活动在无UI片段中保存此类数据。我也知道如果需要可以nest Fragments,但对于这样的情况是否建议?每个UI片段是否应该具有相应的数据保留片段类?或者(可能更糟),所有UI片段共享的单片数据保留类?
似乎有是更好的方式。
答案 0 :(得分:1)
您是否听说过谷歌最近发布的Android架构组件?这些组件的一部分是ViewModel,它可以保存数据并保持配置更改。阅读in this post中关于此ViewModel official documentation的更多信息,或者有关架构组件here的一般信息。