我对 Android 完全陌生,我只是在学习 Activity 生命周期。
到目前为止,在我练习的所有应用程序中,我都没有使用过这种onStart()
方法(主要是因为我不知道),而且这些应用程序运行得非常好。
为什么他们工作得非常好?
那我什么时候必须在我的应用程序中明确编写一个onStart()
方法?
那是因为您的活动是 Activity 或 AppCompatActivity 的子类。你不需要重写这个方法来使活动工作。如果您想知道何时使用该方法,可以查看此帖子:
创建时
在创建活动时调用,然后不再调用。除非你再次打开活动。
开始时
在创建活动时调用,并在每次恢复活动时再次调用(如果您使用后退按钮返回它)。
例子
假设我们要显示一条 toast 消息,我们将其称为“消息”。
第一个案例
如果我们只想在创建活动时显示“消息”,我们在 Oncreate 中添加 toast,这就是发生的情况
如果您打开活动 A ----> 将调用 Oncreate -----> 显示“消息”-----> 调用 Onstart -----> 没有任何反应
如果您从 A 打开另一个活动 B 并按回 -> onCreate 被忽略 -----> onStart 被触发 -----> 没有任何反应。
((因此,当您创建活动时,消息仅显示一次))。
第二种情况
如果我们想在每次显示活动或每次活动可见时显示“消息”,我们在 onStart 中添加 toast,会发生以下情况:
如果您打开活动 A ----> Oncreate 将被调用 -----> 没有任何反应-----> Onstart 被调用 -----> “消息”显示
如果您从 A 打开另一个活动 B 并按回 -> onCreate 被忽略 -----> onStart 被触发 -----> “消息”再次显示。
((因此,当我们创建活动以及返回活动时,这里会显示消息))。
这就是为什么在启动时使用应用程序运行并不总是很重要的原因。