怎样实现android 返回到上一个Activity并重新执行一次onCreate方法

对于android新手来说,大都对activity的生命周期不是太了解,有关activity的生命周期方法执行顺序,我这里看到一篇文章http://www.2cto.com/kf/201409/334386.html

如下是一段典型的从AActivity切换到BActivity的日志,:

10-17 20:54:46.997: I/com.example.servicetest.AActivity(5817): onPause() 1166919192 taskID=66
10-17 20:54:47.021: I/com.example.servicetest.BActivity(5817): onCreate() 1166971824 taskID=66
10-17 20:54:47.028: I/com.example.servicetest.BActivity(5817): onStart() 1166971824 taskID=66
10-17 20:54:47.028: I/com.example.servicetest.BActivity(5817): onResume() 1166971824 taskID=66
10-17 20:54:47.099: I/com.example.servicetest.AActivity(5817): onStop() 1166919192 taskID=66

先AActivity的onPause()被调用,然后是BActivity的初始化流程(onCreate() --> onStart() --> onResume()),再然后是AActivity的onStop()被调用。

了解了activity生命周期方法的执行顺序之后,我们就可以解决文章标题中提到的问题。

新手们大多都喜欢把所有的初始化都写在onCreate()方法里面

如果所有的初始化都在onCreate()中实现,会有什么问题?

出自http://www.2cto.com/kf/201409/334386.html

首先,Activity的onCreate()被调用时,Activity还不可见,如果要做一些动画,既然视图还不存在,在onCreate中来启动动画,明显有问题;

其次,AActivity 切换到 BActivity,再切换到 AActivity(我们假定是AActivity的同一个实例),由于实例已经存在,所以onCreate不会再被调

用,那AActivity从后台切换至前台时,有可能需要一些初始化,那就没法再被调用到了,也有问题;


所以Activity从后台切换至前台时,如果需要一些初始化,就必须将初始化写在onResume ()方法里面


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值