## 4.1 Activity生命周期 ### 4.1.1 生命周期状态 **启动**状态 `Activity` 的启动状态很短暂,一般情况下,当 `Activity` 启动之后便会进入运行状态。 **运行**状态 `Activity` 在此状态时处于界面最前端,它是可见、有焦点的,可以与用户进行交互,如点击界面中的按钮和在界面上输入信息等。 **暂停**状态 在某些情况下, `ActiVity` 对用户采说仍然可见,但它无法状取集点,用户对它操作没有响应,此时它就处于暂停状态。 **停止**状态 当 `Activity` 完全不可见时,它就处于停止状态。 **销毁**状态 当 `Activity` 处于销毁状态时,将被清理出内存。 ### 4.1.2 生命周期方法 (1) onCreate(): Activity创建时调用,通常做一些初始化设置。 (2) onStart(): Activity即将可见时调用。 (3) onResume(): Activity获取焦点时调用。 (4) onPause(): 当前Activity被其他Activity覆盖或屏幕锁屏时调用。 (5) onStop(): Activity对用户不可见时调用。 (6) onDestroy(): Activity销毁时调用。 (7) onRestart(): Activity从停止状态到再次启动时调用。 横竖屏切换会调用 `onDestroy()` 销毁 `Activity`,重新调用 `onCreate()` 方法重建Activity。 通过 `configChanges` 属性进行设置就不会清除输入的信息 ```xml ``` 当`configChanges`属性设置完成之后,打开程序时同样会调用`onCreate()`,`onStar()`、`onResume()`方法,但是当进行横竖屏切换时不会再执行其他的生命周期方法。 如果希望某一个界面一直处于竖屏或者横屏状态,不随手机的晃动而改变,可以在清单文件中通过设置`Activity`的`screenOrientation`属性完成,示例代码如下: ```xml 竖屏:android:screenOrientation="portrait" 横屏:android:screenOrientation="landscape" ``` ## 4.2 Activity的创建、配置、开启和关闭 ### 4.2.1 创建 Activity 在包上右击选择 ![image-20221004104302195](https://lsky.hhdxw.top/imghub/img/image-20221004104302195.png) 一个页面对应一个布局文件 xml ![image-20221004104505572](https://lsky.hhdxw.top/imghub/img/image-20221004104505572.png) ### 4.2.2 配置Activity 清单文件`AndroidManifest.xml`中会创建对应的 xml ,表示程序页面首选项 ```xml ``` ### 4.2.3 开启和关闭Activity (1)在 `activity_main.xml` 中添加按钮组件 ```xml