Android – 记事本教程 – 生命周期 – 一些工作做了两次?

根据“应用基础”文章的“组件生命周期”一节,onResume()总是在View成为活动状态时被调用,与以前的状态无关。

在记事本教程练习3中,我发现NoteEdit.java中有一些令人困惑的东西:
在onCreate()和onResume()中调用populateFields()。
只有在onResume()才有足够的(甚至更好)吗?

在这样一个小例子中,如果populateFields()执行两次,它不会有任何的伤害,但是在一个更大的App中,事情可能会不同。

感谢致敬,
Markus N.

Solutions Collecting From Web of "Android – 记事本教程 – 生命周期 – 一些工作做了两次?"

从记事本3看,我会说你是正确的。 他们在onCreate()onResume()调用populateFields()似乎没有任何理由。 onResume就足够了。

我可以在两个地方看到你需要的地方,如果应用程序暂停,那么你会需要它onResume,如果你的进程被杀死或用户导航回到活动,那么你会需要它在onCreate,特别是如果你正在做一些预处理。

根据onResume()的文档….他们推荐使用它作为onCreate()中的轻量级调用:

“一个活动的前台生命周期发生在对onResume()的调用之间,直到对onPause()的相应调用。在此期间,活动在所有其他活动之前并与用户交互,活动可以经常在恢复和暂停状态 – 例如,当设备进入睡眠状态,活动结果被传送时,当新的意图被传送时 – 所以这些方法中的代码应该是相当轻量的。

记事本应用程序可能需要一个variables声明,如果方法已经被onCreate命中而不是在onResume()重做。