setRetainInstance已过时,有什么替代方法?
我有许多包含许多复杂对象变量的片段。
今天我只有一行代码:setRetainInstance
。
下面是完整的代码示例:
public class MyFragment extends Fragment{
private MyComplicatedCustomClass1 object1;
private MyComplicatedCustomClass2 object2;
private MyComplicatedCustomClass3 object3;
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRetainInstance(true);
}
}
这已经足够让我不必再在更改配置时(例如更改屏幕旋转)保存和恢复我的对象了。
如果要替换setRetainInstance
,您应该在代码中做出哪些改变?
如果可以,请给我一个简短的代码示例。
P.S.
注意: 我可以阅读文档 - 所以请不要用谷歌式的方式回答: "ViewModel是最好的...谷歌推荐...等等..."。 也请不要复制/粘贴来自谷歌文档的文章 - 我可以自己查看。
如果您有具体的工作代码解决方案 - 我将非常感激。