[在Google体系结构组件和LiveData
之前,我没有注意onActivityCreated()
回调。我在SOF和文档中也对此有所了解,但我仍然无法理解其行为。
来自SOF答案之一:
顾名思义,这是在Activity的onCreate()具有完成。
在哪些条件下onActivityCreated()
被叫,以及在什么时候onActivityCreated()
未被叫?
onCreateView()
是否可能被调用,但onActivityCreated()
没有被调用?
[在LiveData
中附加onActivityCreated()
个观察者,因此我想onActivityCreated()
和onCreateView()
之间有显着差异?
尽管从官方Android文档看图似乎onActivityCreated()
之后被称为[[always(就执行而言,不是顺序)并且没有区别?
onCreateView()
是否可能调用了onCreateView()但未调用onActivityCreated()?
是,他们在中使用FragmentPagerAdapter
/ FragmentTransaction.detach
,这将导致视图被销毁,但片段仍然存在(停止但未销毁)。
在这种情况下,FragmentTransaction.attach
运行.attach()
,但不运行onCreateView
。
[将LiveData观察器附加到onActivityCreated()中是常见的做法,所以我想onActivityCreated()和onCreateView()之间会有显着差异?
实际上是一个
不良做法,应在onActivityCreated
中完成,并提供onViewCreated
作为生命周期所有者。
尽管从官方的Android文档看图似乎onActivityCreated()总是在onCreateView()之后调用,并且没有区别?
[它并不总是在getViewLifecycleOwner()
之后被调用,实际上,它更多地被称为“在onCreateView
之前,但是只有一次”。
onStart