Android 导航组件-导航片段时如何加载大数据?

Android 导航组件-导航片段时如何加载大数据?,android,android-navigation,Android,Android Navigation,我在浏览片段时遇到导航组件问题。我需要为特定片段准备数据,并将其加载到onViewCreated()中 由于片段的生命周期是重叠的,并且假设prepareData()使用5s运行,片段在导航时是滞后的 如何以及何时在片段中加载大型数据?什么是最佳实践 第一片段 override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState)

我在浏览片段时遇到导航组件问题。我需要为特定片段准备数据,并将其加载到onViewCreated()中

由于片段的生命周期是重叠的,并且假设
prepareData()
使用5s运行,片段在导航时是滞后的

如何以及何时在片段中加载大型数据?什么是最佳实践

第一片段

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
    super.onViewCreated(view, savedInstanceState)

    binding!!.btnOpenSecondFragment.setOnClickListener {
        findNavController().navigate(R.id.actSecondFragment)
    }
}
第二片段

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
    super.onViewCreated(view, savedInstanceState)

    prepareData()
}

private fun prepareData() {
    runBlocking {
        Log.d(TAG, "prepareData()... begin load data")
        delay(5000)
        Log.d(TAG, "prepareData()... end load data")
    }
}
Logcat

或者使用case:在SecondFragment中,我想调用API并更新UI上的结果,它将在显示片段之前运行

你可以在我的演示项目中看到更多信息

先谢谢你