android - API 驱动的应用程序 - 嵌套 fragment - 在哪里进行 API 调用? onStart 与 onResume 上的 onCreateView

标签 android android-fragments android-lifecycle activity-lifecycle fragment-lifecycle

我的应用程序只有一个 Activity ,它为每个选项卡的内容使用一个 TabLayout 和 1 个 fragment 。其中一些 fragment 具有子选项卡和相应的子 fragment 。

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

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

最佳答案

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

http://developer.android.com/guide/components/activities.html

我还建议每次调用 onResume 时使用 api 调用刷新 View ,只是为了确保用户看到的是最新信息,因为现在使用更多最新的 android 版本, Activity 可能会挂起很长时间.此外,如果调用 restart(),oncreateview 将不会调用,因此这是我建议使用 onResume() 刷新的另一个原因。

关于android - API 驱动的应用程序 - 嵌套 fragment - 在哪里进行 API 调用? onStart 与 onResume 上的 onCreateView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35545921/

相关文章:

java - Android:DigitalClock 删除秒数

android - 禁用滑动打开抽屉但不是关闭

安卓 MVP : One Activity with Multiple Fragments

java - 如何在 Android 中为 fragment 添加标题

java - android map api 无法从 Fragment 转换为 MapFragment

java - super.onCreate(savedInstanceState) 在第一次运行时崩溃

android - 如何在android中处理网络请求

java - 如何修复 IllegalStateException?

android - 查看寻呼机和 fragment 生命周期

android - Activity 生命周期中的小构象