gpt4 book ai didi

android - onDestroy 和 onCreate 可以发生在同一个类实例上吗?

转载 作者:行者123 更新时间:2023-11-30 00:31:53 26 4
gpt4 key购买 nike

我想知道,在重新创建 Activity 、重新创建 fragment 或重新创建服务的过程中,是否有可能重新使用同一个类实例?

例如

//public class HomeFragment extends Activity {
//public class HomeFragment extends Service {
public class HomeFragment extends Fragment {

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

// Can instrumentSearchMonitor has possibility to become null right here, due to onDestroy?
instrumentSearchMonitor.doSomething();
}

@Override
public void onDestroy() {
super.onDestroy();

instrumentSearchMonitor = null;
}

private InstrumentSearchMonitor instrumentSearchMonitor = new InstrumentSearchMonitor();
}

对于上述情况,onCreate 是否有可能由于 onDestroy 中的 nullify 操作而遇到 null 对象?

我的测试是,在调用 onDestroy 之后,下一次调用 onCreate 将发生在不同的类实例上。

我想知道,下一次调用 onCreate 是否有可能发生在同一个类实例上?

最佳答案

一旦 onDestroy() 被调用, fragment 将被完全删除并且不能被重用。

这可以在Fragment生命周期中看到:
/image/fRxIQ.png

图中你可以看到onDestroyView()可以被调用,然后又回到onCreateView(),但是一旦onDestroy()被调用,你可以安全地清空/删除该类实例中的任何内容。

关于android - onDestroy 和 onCreate 可以发生在同一个类实例上吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44190808/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com