如果无论如何都在 Activity 更改时调用 onCreate 和 onStart 之间的区别在哪里?目的是什么?

Ste*_*ium 1 java android android-lifecycle android-activity

我搜索了数十篇 Stackoverflow 帖子和 android 文档,但找不到答案。

根据此 SF-post的公认答案,onCreate 方法在首次创建活动时运行。它还指出,在这里应该创建视图并绑定列表数据。

然后 onStart 方法运行,但这就是问题所在。区别在哪里?如果您在 onCreate 中执行所有操作,切换活动,您的应用仍将显示相同的数据,无论您是将应用置于后台还是切换活动。

所以如果你在 onCreate 中声明视图,你在 onStart 中做什么?初始化视图到他们的 R.id.view ?获取数据?

我想 onResume 然后用于听众,因为根据这个 SF-posts 接受的答案,它是油门和刹车。

Com*_*are 7

onCreate()在首次创建活动时调用。onStart()每当 Activity 可见时调用,包括首次创建它的时间(之后onCreate())和它从停止状态返回到屏幕之后(例如,另一个 Activity 接管了屏幕)。

所以:

  • 将代码放入onCreate()需要在创建活动时发生的代码(并用于onDestroy()清理它)

  • 把代码中onStart()需要发生或者在创建活动时活动时返回到前台(和使用onStop()进行清理)

通常,当 Activity 返回前台时,我们不会做任何特殊的事情,在这种情况下,您无需担心onStart()onStop()

  • @StellarEquilibrium:我不知道有人会以这种方式解决问题,尤其是在过去几年中。最后,如果它适合您,欢迎您做任何您喜欢的事情。感觉就像您正在尝试通过阅读一些 10 年前的帖子并将其与稍微更新的内容(例如,“RecyclerView”)混合来学习 Android 应用程序开发。您可能值得花一些时间阅读一本较新的书或课程,它可以向您展示如何以更有条理和最新的方式完成工作。 (2认同)