刷新片段不会调用 onCreate()。这是正常的?

Refreshing fragment doesn't call onCreate(). It's normal?

我需要在用户按下开关时重新创建片段。我正在使用这个功能:

public void refreshFragment(){
    FragmentTransaction ft = getFragmentManager().beginTransaction();
    if (Build.VERSION.SDK_INT >= 26) {
        ft.setReorderingAllowed(false);
    }
    ft.detach(this).attach(this).commit();
}

没问题,但是调用的时候没有调用onCreate,这是recreate后调用的方法顺序:

onCreateView()
onViewCreated()
onResume()

这是第一次创建时调用的方法序列:

onCreate()
onCreateView()
onViewCreated()
onResume()

显然,当使用该函数刷新片段时,onCreate 再也不会被调用。这将是永远的吗?或者在某些情况下可以改变?我问它是因为 onCreate 只在第一次被调用对我来说是完美的,因为这样我就可以把我只想执行一个项目而不是在刷新时执行的代码放在那里。但是我需要知道它是否安全或者刷新时可以调用onCreate。

onCreate() 只会在您的片段正在创建时调用。分离和重新附加不会创建新片段,但如果您的 activity 被销毁并重新创建(例如,在旋转等配置更改或您的应用进程被终止时),也会调用 onCreate()