Android四大组件之Activity详解
Android四大组件中的Activity是最基本也是最重要的组件之一。Activity是用户与应用程序交互的入口点,负责处理用户的交互请求,并将结果返回给用户。今天,我们将深入探讨Activity的生命周期和生命周期方法。
一、Activity的生命周期
Activity的生命周期是指从Activity的创建到销毁的整个过程。在这个过程中,Activity会经历多个生命周期方法。这些方法包括:
1. onCreate():当Activity第一次创建时会被调用。在这个方法中,可以做一些初始化工作,比如调用setContentView去加载界面布局资源,初始化Activity所需的数据。
2. onStart():表示Activity正在被启动,即将开始,这时Activity已经出现了,但是还没有出现在前台,无法与用户交互。
3. onResume():表示Activity已经可见了,并且出现在前台并开始活动。
4. onPause():表示Activity正在停止,仍可见,正常情况下,紧接着onStop就会被调用。
5. onStop():表示Activity即将停止,不可见,位于后台。
6. onDestroy():表示Activity即将销毁,这是Activity生命周期的最后一个回调,可以做一些回收工作和最终的资源回收。
7. onRestart():表示Activity正在重新启动。一般情况下,当当前Activity从不可见重新变为可见状态时,onRestart就会被调用。
二、生命周期的普通情况
Activity的生命周期可以分为多种情况,以下是一些普通情况:
1. 第一次启动:onCreate()->onStart()->onResume()
2. 打开新的Activity时:onPause()->onStop()
3. 再次回到原Activity时:onRestart()->onStart()->onResume()
4. 按back键回退时:onPause()->onStop()->onDestory()
5. 按Home键切换到桌面后又回到该Activity时:onPause()->onStop()->onRestart()->onStart()->onResume()
6. 调用finish()方法后:onDestory()
三、特殊情况下的生命周期
1. 横竖屏切换:横竖屏切换在横竖屏切换的过程中,会发生Activity被销毁并重建的过程。在Activity由于异常情况下终止时,系统会调用onSaveInstanceState来保存当前Activity的状态。
2. 资源内存不足:资源内存不足导致优先级低的Activity被杀死。Activity优先级的划分和下面的Activity的三种运行状态是对应的。
四、避免横竖屏切换时的Activity销毁和重建
可以通过在AndroidManifest文件的Activity中指定如下属性:android:configChanges = "orientation| screenSize"来避免横竖屏切换时,Activity的销毁和重建。
Activity的生命周期是Android四大组件之一,掌握Activity的生命周期是开发高质量的Android应用程序的关键。