Android API驱动的应用程序-嵌套片段-在哪里进行API调用?onStart v/s onCreateView on onResume

Android API驱动的应用程序-嵌套片段-在哪里进行API调用?onStart v/s onCreateView on onResume,android,android-fragments,android-lifecycle,activity-lifecycle,fragment-lifecycle,Android,Android Fragments,Android Lifecycle,Activity Lifecycle,Fragment Lifecycle,我的应用程序有一个单独的活动,它使用一个TabLayout,每个选项卡的内容有一个片段。其中一些片段中有子选项卡和相应的子片段 这些片段中的每一个都依赖于API调用来呈现它们的视图。我希望这些片段只进行一次API调用并呈现它们的视图。如果用户切换到另一个选项卡并返回,这些片段应该只显示他们第一次呈现的视图(有一些特殊情况会触发新的API调用,但这些情况很少见,我认为可以在onResume中处理) 要实现这一点,进行第一次API调用的最佳位置是什么?onCreateView?或者onStart、o

我的应用程序有一个单独的活动,它使用一个TabLayout,每个选项卡的内容有一个片段。其中一些片段中有子选项卡和相应的子片段

这些片段中的每一个都依赖于API调用来呈现它们的视图。我希望这些片段只进行一次API调用并呈现它们的视图。如果用户切换到另一个选项卡并返回,这些片段应该只显示他们第一次呈现的视图(有一些特殊情况会触发新的API调用,但这些情况很少见,我认为可以在onResume中处理)

要实现这一点,进行第一次API调用的最佳位置是什么?onCreateView?或者onStart、onResume或其他生命周期方法?

onCreateView(),因为如果您要更改任何UI元素,这将是布局第一次膨胀,在android文档中,他们建议在此处执行所有设置,因为onStart是在用户看到活动之前调用的

我还建议每次调用onResume时都使用api调用刷新视图,以确保用户看到的是最新的信息,因为随着android版本的增加,活动可能会暂停很长时间。另外,如果调用了restart(),oncreateview将不会调用,因此这也是我建议使用onResume()刷新的另一个原因