android activity的生命周期

android的activity的生命周期有7个方法,分别是onCreate(),onStart(),onRestart(),onResume(),onPause(),onStop(),onDestory()。

有三个循环:1.完整的循环:从onCreate()一直运行到onDestory()结束。onCreate()—>onStart()—>onResume()—>onPause()—>onStop()—>onDestory()。一路运行到头

                 2.可见的循环:从onStart()运行到onStop()结束。onStart()—>onResume()—>onPause()—>onStop()—>onRestart()—>onStart()。开启新的activity并且完全覆盖老的activity后,通过后退键重新显示老的activity

                 3.可交互的循环:从onResume()运行到onPause()结束。onResume()—>onPause()—>onResume()。开启新的activity不完全覆盖老的activity,通过后退键重新显示老的activity

onCreate():一般在其中进行数据的初始化。

onStart():当调用这个方法时,activity已经可被用户看到,但不一定在最前台。

onResume():当调用这个方法时,activity处于最前台,能与用户进行交互。

onPause():当调用这个方法时,activity处于暂停状态,也就是部分可见。只要有一个新的activity被创建,就一定调用onPause()方法。需要持久保留的数据保存在onPause()方法中

onStop():当调用这个方法时,activity处于停止状态,也就是完全不可见。只要当前的activity完全不可见了,就一定调用onStop()方法。

onDestory():当调用到这个方法是,整个程序都关闭了。

onRestart():这个方法只有在老的activity已经完全不可见时,通过后退键又显示出来时调用。

这些都是在系统内存充足时的调用

横竖屏切换:执行onPause(),onStop(),onDestory(),然后执行onCreate(),onStart(),onRestart(),onResume()。销毁当前的activity,重新创建一个新的activity,横竖屏的切换都是这个流程。

activity之间的切换顺序:Aactivity切换到Bactivity,先执行Aactivity的onPause(),然后执行Bactivity的onCreate(),onStart(),onResume(),最后执行Aactivity的onStop()。Aactivity中比较消耗资源的部分关闭后,再切换到Bactivity中执行onCreate()方法,进行数据初始化,显示Bactivity中的界面。当Bactivity已经执行到onResume()方法时,用户可以进行交互,然后再执行Aactivity中的onStop()方法,这样虽然比较耗时,但是是在后台运行的,对用户的使用没有什么影响。

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。