0

我对 Android 完全陌生,我只是在学习 Activity 生命周期。
到目前为止,在我练习的所有应用程序中,我都没有使用过这种onStart()方法(主要是因为我不知道),而且这些应用程序运行得非常好。

为什么他们工作得非常好?
那我什么时候必须在我的应用程序中明确编写一个onStart()方法?

4

2 回答 2

3

那是因为您的活动是 Activity 或 AppCompatActivity 的子类。你不需要重写这个方法来使活动工作。如果您想知道何时使用该方法,可以查看此帖子:

android:何时使用 onStart()、onStop()?

于 2017-11-29T22:47:46.550 回答
1

创建时

在创建活动时调用,然后不再调用。除非你再次打开活动。

开始时

在创建活动时调用,并在每次恢复活动时再次调用(如果您使用后退按钮返回它)。

例子

假设我们要显示一条 toast 消息,我们将其称为“消息”。

第一个案例

如果我们只想在创建活动时显示“消息”,我们在 Oncreate 中添加 toast,这就是发生的情况

如果您打开活动 A ----> 将调用 Oncreate -----> 显示“消息”-----> 调用 Onstart -----> 没有任何反应

如果您从 A 打开另一个活动 B 并按回 -> onCreate 被忽略 -----> onStart 被触发 -----> 没有任何反应。

((因此,当您创建活动时,消息仅显示一次))。

第二种情况

如果我们想在每次显示活动或每次活动可见时显示“消息”,我们在 onStart 中添加 toast,会发生以下情况:

如果您打开活动 A ----> Oncreate 将被调用 -----> 没有任何反应-----> Onstart 被调用 -----> “消息”显示

如果您从 A 打开另一个活动 B 并按回 -> onCreate 被忽略 -----> onStart 被触发 -----> “消息”再次显示。

((因此,当我们创建活动以及返回活动时,这里会显示消息))。

这就是为什么在启动时使用应用程序运行并不总是很重要的原因。

于 2017-11-29T22:58:13.137 回答