如果 onCreate 和 onStart 都在 Activity 更改时被调用,那么它们之间的区别在哪里?目的是什么?

Where is the difference between onCreate and onStart if both are called upon Activity change anyway? What's the purpose?

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

根据 this SF-post 接受的答案,onCreate 方法在 activity 首次创建时运行。它还指出,应该在此处创建视图并绑定列表数据。

然后 onStart 方法运行,但这是问题所在。哪里不一样?如果您在 onCreate、switch activity 中执行所有操作,无论您将 app 置于后台还是切换 activity,您的应用程序仍将显示相同的数据。

那么如果你在onCreate中声明视图,你在onStart中做了什么?启动对他们 R.id.view 的意见?获取数据?

onResume 我想然后用于听众,因为根据 this SF-posts accepted answer.

它是油门和刹车

onCreate() 在 activity 首次创建时被调用。 onStart() 在 activity 变为可见时调用,包括首次创建时(在 onCreate() 之后)和从停止返回屏幕后(例如,另一个 activity接管屏幕)。

所以:

  • 将创建 activity 时需要发生的代码放入 onCreate()(并使用 onDestroy() 清理它)

  • 将需要发生的代码放入 onStart() 或者 当 activity 创建时 或者 当 activity returns 到前台(并使用 onStop() 清理它)

通常,当 activity returns 到前台时,我们不会做任何特别的事情,在这种情况下,您无需担心 onStart()onStop() .