android的Activity生命周期续集

为手机做的游戏肯定会对来电监听,短信监听,当然,此时此刻监听来电不是为了获得来电号码,监听短信也不是为了获得发信人号码,和信息内容,仅仅只为了如果游戏被这些系统信息打断如何恢复游戏不会出错。
经本人试验发现,如果有来电,被调用的函数顺序将会是这样onPause()-->onStop(),
然后挂断电话以后 调用函数顺序是这样:onRestart()-->onStart()-->onResume().
如果是正在玩游戏的时候锁键盘,则仅仅只会调用onPause(),解开键盘锁以后也仅仅只会调用
onResume().所以在恢复操作的时候,理论上只需要在onPause()方法里面做判断,保存数据,需要恢复的代码都写在onResume(),但是本人在onRestart和onResume中都做判断恢复了。

一个android程序,至少得有一个Activity,当这个Activity第一次运行的时候会调用onCreate(),这个方法在整个Activity从开始到销毁的过程中只会调用一次,仅仅为一次,在onCreate(),之后,紧接着会调用onStart(),之后就是调用onResume().
画个简单的图更加明了:

这是理想状态没有任何外力的情况下将会这样调用:onCreate()-->onStart()-->onResume,到此为止,Activity已经能被看到了。

当有电话进来:onPause()-->onStop(),此时的Activity已经不再可见了

挂断电话,从不可见到可见的状态:onRestart()-->onStart()-->onResume().到此为止Activity又是可见的。

增加一句:在模拟器上面发信息什么反应都没有

然后是锁键盘和打开键盘锁的过程:onPause()-->onResume().
最后销毁Activity才会调用onDestroy().

锁键盘的时候Activity并没有变得不可见,所以不会调用onStop,也就不会调用onRestart(),恢复的时候只会调用onResume().
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值