正如标题所示,我想保留我的碎片。我已经强制执行我的应用程序方向,以便始终在清单文件中处于横向模式,这样就不会有旋转。
我看过: Understanding Fragment's setRetainInstance(boolean) 和 Why use Fragment#setRetainInstance(boolean)? 但是,我不确定它们是否适用于我的情况。
我的项目包含一个带有滑动标签的ViewPager
。如何确保ViewPager中使用的片段与MainActivity首次启动时创建的片段相同?我会使用相同的标记方法和标记findfragment
吗?
此外,在哪里检查标记片段最好,否则创建一个新片段?
只是与ViewPager相关的一个侧面问题:如何在启动mainactivity
时立即创建ViewPager中使用的所有片段,而不是等待滑动事件发生?
答案 0 :(得分:0)
要回答您的上一个问题,寻呼机默认情况下会在当前片段周围创建片段,因此您无需担心该部分。我建议让视图寻呼机为您管理您的片段而不是改变行为,因为您可能会遇到性能问题。
SetRetainInstance
只是在分离时保留片段的实例,所以由你来评估是否需要使用它。你想要保留关于该片段的任何内容吗?如果没有,那就不要使用它,尽可能地释放你的记忆。
对于最后一个问题,为什么要保留第一次创建的相同片段?每时每刻?如果您需要这样做,那么重新考虑您的结构。优雅地重新创建您的片段,如果您担心的话,可能会在另一层上缓存您的数据。