用代码让你彻底了解Activity生命周期
Activity是Android应用开发中的核心组件,它代表了用户与应用交互的界面。了解并掌握Activity的生命周期对于开发高效、稳定的应用至关重要。本文将深入探讨Activity的7个主要生命周期状态,并通过具体的代码示例来帮助你更好地理解每个状态的转换。 1. **创建(Creation)** 当一个Activity首次被启动或从后台恢复时,会经历`onCreate()`方法。这是Activity生命周期的第一个回调,用于初始化UI布局、数据和资源。例如: ```java @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 初始化数据和资源 } ``` 2. **显示(Visible)** `onStart()`方法紧接着`onCreate()`调用,表示Activity变得对用户可见,但可能仍被其他Activity遮挡。接着是`onResume()`,Activity完全可见并且获得焦点,准备与用户交互。 ```java @Override protected void onStart() { super.onStart(); // 变为可见,但可能被其他Activity遮挡 } @Override protected void onResume() { super.onResume(); // 完全可见并可交互 } ``` 3. **暂停(Paused)** 当另一个Activity部分或完全覆盖当前Activity时,会触发`onPause()`。此时,Activity仍保持内存状态,但不能与用户交互。 ```java @Override protected void onPause() { super.onPause(); // 不再与用户交互,但仍保留在内存中 } ``` 4. **停止(Stopped)** 如果Activity被完全隐藏,如新Activity启动或设备屏幕关闭,将调用`onStop()`。Activity的大部分状态会被保存,但可能被系统回收。 ```java @Override protected void onStop() { super.onStop(); // 完全不可见,可能被系统回收 } ``` 5. **重新启动(Restarting)** 当Activity从停止状态恢复,系统会先调用`onStart()`,然后`onResume()`,使Activity重新变为可见并可交互。 6. **销毁(Destroyed)** Activity在退出或者系统资源紧张时,可能会调用`onDestroy()`。这是Activity生命周期的最后一个回调,用于释放资源。 ```java @Override protected void onDestroy() { super.onDestroy(); // Activity将被销毁,释放所有资源 } ``` 7. **配置更改(Configuration Changes)** 当设备配置改变(如屏幕方向变化、语言切换等),默认情况下系统会销毁并重建Activity。你可以重写`onSaveInstanceState()`保存状态,并在`onCreate()`或`onRestoreInstanceState()`中恢复。 通过ActivityLifeCycleTest项目,你可以实际编写和运行代码,观察Activity在不同状态间的转换,进一步加深理解。同时,理解如何处理配置变化,以及在`onPause()`和`onStop()`中保存数据,都是Android开发中的重要实践。 掌握Activity生命周期对于优化用户体验、避免内存泄漏以及确保应用在各种场景下正确运行至关重要。通过代码实践,你可以更直观地理解这些概念,并在实际项目中灵活运用。
- 1
- 2
- 3
- 4
- 5
- 6
- 13
- 粉丝: 0
- 资源: 5
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助