在android中,我们一直在谈论保留活动状态/片段状态,但我有这个问题," state"确实如此。例如,假设我有以下DialogFragment
public class Dialog extends DialogFragment {
private String mMessage;
@Override
public void onCreateView(LayoutInflater inflater,
ViewGroup container,
Bundle savedInstanceState) {
View v = super.onCreateView(inflater, container, savedInstanceState);
((TextView) v.findViewById("message")).setText(mMessage);
}
}
但不会" mMessage"在设备轮换期间保留为成员变量?所以在这种情况下," mMessage"我认为在创建这个片段时我必须保留并进行论证?
答案 0 :(得分:1)
答案 1 :(得分:0)
State的概念来自OOP,而不是来自android,简化:对象具有状态(数据)和行为(代码)。
碎片和活动的工作方式略有不同,如果碎片被停止,碎片将保留状态,但是它们将失去管理它们的活动被破坏(除非你保留它)。但是,在更改配置后,活动将失去状态。
该文档解释了生命周期以及如何/何时保留片段: https://developer.android.com/guide/components/fragments.html#Lifecycle