android Activity Lifecycle即生命周期

来源:互联网 发布:对方号码未网络上注册 编辑:程序博客网 时间:2024/05/17 01:21

Activity中包含以下方法:

onCreate() :第一次启动Activity时调用该方法,这这个方法中应当初始化所有的静态数据,创建views并绑定相关的数据,该方法还为您提供了一个包含该活动先前冻结状态的包.通常后面是onStart()方法。

onRestart():重新调用被stop的activity,使它从新启动。通常后面是onStart()方法.

onStart():当用户可见该activity时调用该方法。当该activity可见时,后面调用OnResume()方法;当activity不可见时,后面调用onStop()方法。

onResume():当activity将要与用户互动时,调用该方法,此时activity在堆栈的顶部,用户可以输入信息。后面调用onPause()方法

onPause():当系统回复一个activity时调用该方法,通常这里用来提交未被保存的数据,停止动画、占用处理器等。这个方法的实现必须非常快,因为下一个activity直到该方法返回才回复。当返回先前的activity后面调用的是onResume(),当该activity不可见时后面调用onStop()。

onStop()当其他的activity回复并覆盖当前的activity时,不再对用户显示时调用该方法。这可能发生:启动一个新的Activity或者是返回上一个activity,或者是这个ctivity销毁。

ondestroy():activity销毁时最后调用的一个方法。这可能发生在:调用啦finish()方法,或者系统回收,节省空间。通过isFinishing()的方法区分这两种情况:


根据以上的分析:

当一个Activity第一次启动时执行方法的顺序为:onCreate()-->>onStart()-->>OnResume()

当Activity进入下一个Activity时或者被别的页面覆盖时:onPause()-->>onStop()

当返回该Activity时:onRestart()-->>onStart-->>onResume()


在机器上运行真实情况:

当一个Activity第一次启动时执行方法的顺序为:onCreate()-->>onStart()-->>OnResume()

当Activity进入下一个Activity时或者被别的页面覆盖时:onPause()-->>onStop()

当返回该Activity时:onRestart()-->>onStart-->>onResume()

大笑理论与实践一致。

综上可以看出Activity的运行情况和生命周期在各个阶段都是有相应的方法来处理的,我们可以利用这些方法及时的保存数据,更新页面等。

0 0
原创粉丝点击