android中是否使用FragmentActivity调用了所有FragmentOnCreateView方法?
我使用了android中是否使用FragmentActivity调用了所有FragmentOnCreateView方法?,android,fragment,android-fragmentactivity,Android,Fragment,Android Fragmentactivity,我使用了FragmentActivity、ViewPagerAdapter和Fragment来构建选项卡格式。myFragmentActivity中有3个选项卡。当调用FragmentActivity方法时,我不知道是调用了所有FragmentonCreateView方法,还是调用了选项卡的onClick?我已经为我的所有3个片段设置了3个断点onCreateView方法。在调试期间,我发现只有前2个onCreateView方法被调用。请解释为什么只调用2个?它们是根据用户需要创建和销毁的。如果
FragmentActivity
、ViewPagerAdapter
和Fragment
来构建选项卡格式。myFragmentActivity
中有3个选项卡。当调用FragmentActivity
方法时,我不知道是调用了所有Fragment
onCreateView
方法,还是调用了选项卡的onClick
?我已经为我的所有3个片段设置了3个断点onCreateView
方法。在调试期间,我发现只有前2个onCreateView
方法被调用。请解释为什么只调用2个?它们是根据用户需要创建和销毁的。如果滚动到第二个片段,您将看到它已创建。这只是一个优化。您认为一个包含8个片段的应用程序是否需要将这8个片段保存在内存中?这将浪费资源。ViewPagerAdapter将根据用户需要管理创建片段和销毁片段。因此,如果不设置mviewpage.setOffscreenPageLimit(NUM_TABS-1),默认值为1(您可以参考)
这就是为什么它只创建前2个选项卡,当您选择tab3时,它将销毁tab1的片段并创建tab3的片段。对于您的情况,如果您在调试时设置了mviewpage.setOffscreenPageLimit(2),您将看到它调用了3个onCreateView方法,并且不会破坏任何片段的视图。希望这能有所帮助。我明白。但什么是默认行为。我的前两个片段是在开始时创建的,但不是第三个。当我点击第二个标签时,它会调用第三个片段。这就是我感到困惑的原因。