Android生命周期

activity 的生命周期有onCreate(),onStart(),onResume(),onPause(),onStop(),onDestroy().

       我们只知道他什么情况下会调用这些方法,但是具体在什么情况下会调用,我们却不知道。就好像我们知道我们有一个会离开人间,但具体哪天我们是不知道的,这是由安卓系统把控的。

onCreate()和onDestroy()分别在Activity的创建和销毁时调用,只调用一次。我们可以在onCreate()里做一些初始化工作,onDestroy()里完成回收和销毁工作。onCreate()只在activity被销毁以后再次创建才会调用。

      activity分为在前台,部分可见,不可见,被销毁四种状态。它们优先级依次递减,系统会在内存资源紧张的时候,根据他们的优先级从低到高回收。

      onStart()方法和onStop()方法可看做一对,他们分别在activity由不可见转为可见 和 可见转为 不可见的情况下被调用。

    onResume()和onPause()方法可看做一对,他们分别在activity由后台转到前台(可与用户交互)和前台转到后台时调用。

   如果一个activityA启动activityB,系统会先调用activityA的onPause()方法使activityA转到后台,再调用activityB的onCreate(),onStart(),onResume()方法,所以我们不能在onPause()方法里做繁杂的工作,以便activityB能尽快的调动起来。

  综上:activity启动:onCreate()-》onStart()-》onResume()

             activity被其他activity覆盖但部分可见/锁屏: ->onPause()  再次回到前台:-》onResume()

             activity被完全覆盖或按下home键:-》onPause()->onStop()    再次回到前台:-》onRestart()->onStart()->onResume()

          当发生异常时:1.资源设置发生变化时,如手机转屏   2.系统内存紧张时   3.在当前activity跳到其他activity或按下home键自身退居后台时,onSaveInstanceState()方法会被调用,他会保存has id的view的状态,以便该activity再次启动时能快速恢复原来的状态。每个view有自己的onSaveInstanceState()方法,至于每个view会在该方法中保存哪些信息,需要我们查看他的源码进行了解。       恢复时会调用onRestoreInstanceState()方法。  他们分别在onStop()方法前

和onStart()方法后调用,至于是在onPause()前还是后,onResume()前还是后调用,我们不能确定。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值