Android中关于Activity的生命周期

 关于Activity的生命周期,这个应该在很多Android书上都有讲的,自己写的目的是根据自己测试得出的结论,一方面是方便自己复习,另一方面是做个记录。

Activity1简称A1,Activity2简称A2,通过Activity1创建Activity2,Activity2启动后完全遮挡Activity1.

1.启动A1,点击A1上的按钮创建A2,然后点击A2中的按钮返回A1,方法调用顺序如下:

A1 OnCreat() -> A1 OnStart() -> A1OnResume() -> A1 OnPause() -> A2 OnCreat() -> A2 OnStart() -> A2 OnResume() -> A1 OnStop() -> A2 OnPause() -> A1 OnCreat() -> A1 Onstart() -> A1 OnResume() -> A2 OnStop()

2.启动A1,点击A1上的按钮创建A2,然后点击Android自带的返回按钮,从A2返回A1,方法调用顺序如下:

A1 OnCreat() -> A1 OnStart() -> A1OnResume() -> A1 OnPause() -> A2 OnCreat() -> A2 OnStart() -> A2 OnResume() -> A1 OnStop() -> A2 OnPause() -> A1 OnRestart() -> A1 Onstart() -> A1 OnResume() -> A2 OnStop() -> AC2 OnDestroy()

用红色标注的地方不同,为什么不同呢?因为在A2上点击返回A1是创建了一个新的Activity,而通过“返回按钮”返回A1则是根据出栈的原理。如下图所示:

AC2未能完全遮挡住AC1的情况是这样的,点击AC1上的按钮,弹出AC2:

A1 OnCreat() -> A1 OnStart() -> A1OnResume() -> A1 OnPause() -> A2 OnCreat() -> A2 OnStart() -> A2 OnResume() -> A1 OnStop() -> A2 OnPause() -> A1 OnResume()  -> A2 OnStop() -> AC2 OnDestroy()

AC2中的按钮Go to First 是一条finish()指令,跟模拟器上的返回键效果是一样的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值