### Activity 概述 #### 一、基本概念 **Activity** 是 Android 应用程序的四大组件之一,主要负责提供用户交互的界面。一个应用程序通常包含多个 Activity,每个 Activity 负责显示一个独立的界面。 #### 二、常用方法详解 1. **setContentView()**:用于设置 Activity 的布局。接受两个参数类型:`int` 和 `View` 类型。当传入 `int` 类型时,通常是指定一个布局资源文件 ID,例如 `R.layout.main`;当传入 `View` 类型时,则是直接将一个 View 对象设置为 Activity 的内容视图。 - 示例:`setContentView(R.layout.activity_main);` 2. **getLayoutInflater()**:获取布局渲染器对象,用于将 XML 布局文件解析成对应的 View 对象。 - 示例:`LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);` 3. **findViewById()**:通过资源 ID 查找布局中的控件。 - 示例:`Button button = findViewById(R.id.button);` 4. **finish()**:销毁当前 Activity。通常在用户完成某个操作或需要跳转到另一个 Activity 时调用。 - 示例:`finish();` 5. **onBackPressed()**:响应 Back 键的回调方法。可以在此方法中处理 Back 键按下时的行为。 - 示例:`@Override public void onBackPressed() { super.onBackPressed(); }` #### 三、Activity 生命周期 生命周期指的是 Activity 从创建到销毁所经历的不同状态。了解这些状态有助于在合适的时机执行特定操作。 1. **Running(Activity)态**:当 Activity 在屏幕最前方且可见时,处于运行状态。此时它可以与用户进行交互。 2. **Paused 态**:当 Activity 被另一个透明或 Dialog 样式的 Activity 部分遮挡时,处于暂停状态。尽管仍然与窗口管理器保持连接,但已失去焦点,因此不能与用户交互。 3. **Stopped 态**:当 Activity 完全被另一个 Activity 覆盖时,处于停止状态。此时它不再可见,但在内存充足的情况下仍会被系统保留。 4. **Killed 态**:当 Activity 被系统销毁时,处于被杀状态。这可能是因为内存紧张或 Activity 不再需要。 #### 四、关键生命周期方法 - **onCreate()**:Activity 创建时调用。 - **onStart()**:Activity 变得可见时调用。 - **onResume()**:Activity 准备好接收用户输入时调用。 - **onPause()**:Activity 将被其他 Activity 覆盖时调用。 - **onStop()**:Activity 不再可见时调用。 - **onDestroy()**:Activity 被销毁前调用。 - **onRestart()**:Activity 由不可见变为可见时调用。 #### 五、数据保存与恢复 当 Activity 被销毁时,可以通过以下方式保存数据: - 使用 Bundle 对象在 onSaveInstanceState() 方法中保存数据。 - 使用 SharedPreferences 或 SQLite 数据库持久化存储数据。 #### 六、Activity 启动模式 - **standard**:默认模式,每次启动都会创建新的实例。 - **singleTop**:如果 Activity 已经位于任务栈顶,则复用现有实例;否则创建新实例。 - **singleTask**:如果 Activity 已存在,则复用该实例并将任务栈内的所有 Activity 出栈,使该 Activity 处于栈顶。 - **singleInstance**:无论何时启动,都只创建一个实例,并且始终在一个新的任务栈中运行。 #### 七、横竖屏切换处理 横竖屏切换可能导致 Activity 重新创建。为了避免数据丢失,可以采取以下措施: - 在 `onSaveInstanceState()` 方法中保存关键数据。 - 在 `onRestoreInstanceState()` 方法中恢复数据。 - 使用 `android:configChanges` 属性来控制 Activity 是否需要重新创建。 #### 八、总结 理解 Activity 的概念及其生命周期对于开发高质量的 Android 应用至关重要。正确地管理 Activity 的生命周期不仅可以提高用户体验,还可以优化应用性能。此外,掌握 Activity 的启动模式以及如何处理横竖屏切换等问题,也是实现稳定可靠应用的关键。






















剩余7页未读,继续阅读


- 粉丝: 37
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- modelcontextprotocol_kotlin-sdk-Kotlin资源
- nexfly-AI人工智能资源
- cpp-tbox-硬件开发资源
- 射频功率放大器的研究与设计.pdf
- 基于 PyQt5 的轮廓获取、人脸识别与图像分类系统
- MatterMap-移动应用开发资源
- GOSP-单片机开发资源
- 电子工程基于SAR ADC的抗混叠巴特沃斯低通滤波器设计:滤波器电路及参数计算方法
- 全双工485通信系统原理示意图
- EasyDL 定制化图像识别之图片分类功能
- wnmp PHP集成环境-PHP资源
- layui-JavaScript资源
- ERD-ONLINE-SQL资源
- WeBlog-毕业设计资源
- ACM算法竞赛-ACM资源
- Mathematical Modeling-美赛资源


