一、Activity的生命周期
十余年的朝天网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。
网络营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整朝天建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“
朝天网站设计”,“
朝天网站推广”以来,每个客户项目都认真落实执行。
首先,我们来了解一下Activity典型的生命周期
一个Activity从启动到结束会以如下顺序经历整个生命周期:
onCreate()->onStart()->onResume()->onPause()->onStop()->onDestory()。包含了六个部分,还有一个onRestart()没有调用,
下面就来一一介绍
- onCreate():当 Activity 第一次创建时会被调用。当 Activity 第一次创建时会被调用。这是生命周期的第一个方法。在这个方法中,可以做一些初始化工作,比如调用setContentView去加载界面布局资源,初始化Activity所需的数据。
- onStart():表示Activity正在被启动,即将开始,这时Activity已经出现了,但是还没有出现在前台,无法与用户交互。
- onResume():表示Activity已经可见了,并且出现在前台并开始活动。
- onPause():表示 Activity正在停止,仍可见,正常情况下,紧接着onStop就会被调用。onPause中不能进行耗时操作,会影响到新Activity的显示。因为onPause必须执行完,新的Activity的onResume才会执行。
- onStop():表示Activity即将停止,不可见,位于后台。
- onDestory():表示Activity即将销毁,这是Activity生命周期的最后一个回调,可以做一些回收工作和最终的资源回收。
- onRestart():表示Activity正在重新启动。一般情况下,当当前Activity从不可见重新变为可见状态时,onRestart就会被调用。这种情形一般是用户行为导致的,比如用户按Home键切换到桌面或打开了另一个新的Activity,接着用户又回到了这个Actvity。
生命周期的几种普通情况
- ①针对一个特定的Activity,第一次启动,回调如下:onCreate()->onStart()->onResume()
- ②用户打开新的Activiy的时候,上述Activity的回调如下:onPause()->onStop()
- ③再次回到原Activity时,回调如下:onRestart()->onStart()->onResume()
- ④按back键回退时,回调如下:onPause()->onStop()->onDestory()
- ⑤按Home键切换到桌面后又回到该Actitivy,回调如下:onPause()->onStop()->onRestart()->onStart()->onResume()
- ⑥调用finish()方法后,回调如下:onDestory()(以在onCreate()方法中调用为例,不同方法中回调不同,通常都是在onCreate()方法中调用)
下面来看一下特殊情况下的生命周期
①横竖屏切换
在横竖屏切换的过程中,会发生Activity被销毁并重建的过程。
在Activity由于异常情况下终止时,系统会调用onSaveInstanceState来保存当前Activity的状态。这个方法的调用是在onStop之前,它和onPause没有既定的时序关系,该方法只在Activity被异常终止的情况下调用。当异常终止的Activity被重建以后,系统会调用onRestoreInstanceState,并且把Activity销毁时onSaveInstanceState方法所保存的Bundle对象参数同时传递给onRestoreInstanceState和onCreate方法。可以通过onRestoreInstanceState方法来恢复Activity的状态,该方法的调用时机是在onStart之后。
横竖屏切换的生命周期:onPause()->onSaveInstanceState()-> onStop()->onDestroy()->onCreate()->onStart()->onRestoreInstanceState->onResume()
可以通过在AndroidManifest文件的Activity中指定如下属性:
android:configChanges = "orientation| screenSize"
本文题目:Android四大组件之Activity详解-创新互联
分享链接:
http://njwzjz.com/article/dsgchd.html