深入理解Android Activity生命周期

0 下载量 182 浏览量 更新于2024-08-31 收藏 267KB PDF 举报
"这篇文档详细讨论了Android中Activity的生命周期,包括销毁、暂停与恢复、停止与重启等关键环节,并提供了相关示例。" 在Android应用开发中,Activity是构成应用程序用户界面的基本单元,理解其生命周期至关重要。Activity的生命周期由一系列回调方法组成,这些方法在特定事件发生时被系统调用,确保应用能够有效地管理资源和用户交互。 1. 完整生命周期 - Resumed:这是Activity的活跃状态,用户可以直接与其交互,Activity位于栈顶,完全可见。 - Paused:当另一个Activity部分覆盖当前Activity(例如显示一个对话框)时,Activity进入暂停状态,虽然仍然部分可见,但不能接收用户输入。 - Stopped:Activity完全不可见,可能被其他Activity覆盖或者用户切换到其他应用,但其状态被保存,可以恢复。 - Created 和 Started:Activity创建始于onCreate(),接着是onStart(),最后是onResume()。onCreate()用于初始化,onStart()使Activity变得可见,onResume()则让用户可以与Activity交互。 2. 主Activity 主Activity是程序的入口点,通常作为启动界面。在AndroidManifest.xml中,通过以下方式声明主Activity: ```xml <activity android:name=".MainActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> ``` 其中,`ACTION_MAIN` 表示它是启动动作,`CATEGORY_LAUNCHER` 意味着它可以从启动器(应用列表)启动。 3. 创建新的Activity实例 当启动新的Activity时,系统首先调用onCreate(),然后是onStart()和onResume()。开发者通常在onCreate()中设置UI、初始化数据和成员变量。为了快速显示界面,不应在onCreate()中执行过于复杂的操作。 4. 销毁Activity Activity的销毁过程涉及onPause() -> onStop() -> onDestroy()。onDestroy()可能是系统为了回收资源而调用,也可能是开发者手动调用finish()。需要注意的是,系统并不保证一定会调用onDestroy(),因此不应依赖它来执行必要的清理工作。 5. 暂停与恢复 在Activity被部分或完全覆盖时,系统会调用onPause()。当Activity重新变为可见,会依次经过onRestart() -> onStart() -> onResume()。这些回调用于保存和恢复Activity的状态,确保用户返回时能看到一致的界面。 6. 停止与重启 当Activity完全不可见时,系统调用onStop()。如果用户能再次看到Activity,系统将调用onRestart() -> onStart(),之后再通过onResume()恢复交互状态。 理解并妥善处理这些生命周期回调对于开发高效、响应迅速且用户体验良好的Android应用至关重要。开发者需要根据需求在这些方法中编写合适的代码,确保Activity能够在不同状态下正确地保存和恢复其状态。