菜鸟问题,activity的一些初始化的工作,在oncreate中做还是onresume中做
oncreate,与onresume 初始化哪个更好,有区别吗
2013-12-23 22:29
网友采纳
热心网友
其实生命周期,绝大部分朋友都知道。但是这和生命周期没有关系。 因为如果这个 activity 是最终的叶子节点,那么你放哪里都可以。 oncreate 和 onresume 在第一次创建的时候都会执行,如果细心的朋友可以看一下。但是实际上 oncreate 和 onresume 的确有区别。 oncreate 是当被创建的时候执行, onresume 是被展示的时候执行。这里面就要明白,在栈式管理的方式下,如果不被销毁,那么oncreate 只会被执行一次, 而 onresume是依照展示机会执行。这里面有朋友说 oncreate 里面初始化不变的控件, onresume 里面初始化变的控件。 这个也许你执行没有问题,但是这么想的时候已经错了。因为 oncreate 就代表了初始化。 所以所有的控件都要在 oncreate 里面初始化。 onresume 里面去执行初始化后被展示的时候要进行的行为操作。activity中onResume()的用处
描述: 今天在做一个功能的时候,从Aactivity跳到Bactivity。 由于Bactivity的操作,影响了Aactivity的数据,所以再回到A的时候,需要A能够进行刷新操作。 但是默认跳回去的时候,A界面还是上次那个。 解决方案: 重写Aactivity的onResume()方法,在onResume()方面里进行刷新操作。因为按照activity的生命周期模型,当activity恢复的时候,onResume()方法会被调用,所以这是一个刷新的好机会。