"Activity状态-Actity生命周期"
Activity是Android应用程序中的核心组件,它代表了用户交互的单一屏幕视图。每个Activity都是一个独立的类,继承自Activity基类。一个典型的Android应用通常由多个Activity组成,如短信应用,可能包括联系人列表、编写消息和查看历史等多个屏幕。
学习Activity及其生命周期的目标在于掌握基本概念,理解生命周期各个阶段,并能通过生命周期分析Android源代码。Activity有三种主要状态:运行(Running)、暂停(Paused)和停止(Stopped)。
1. 运行状态:当Activity首次创建并获得焦点时,它处于运行状态,此时所有UI元素对用户可见,系统正在处理与Activity相关的用户输入。
2. 暂停状态:当另一个Activity覆盖了当前Activity但并未完全遮挡(例如,透明或半透明的对话框出现)时,当前Activity进入暂停状态。在此状态下,Activity虽然可见但无法交互,系统可能会因内存紧张而结束该Activity。
3. 停止状态:当Activity完全被其他Activity覆盖,不再对用户可见时,它进入停止状态。虽然Activity的全部状态和成员信息被保留,但窗口被隐藏,系统可能随时回收内存来终止此Activity。
Activity的生命周期由七个关键方法构成:
1. onCreate():在Activity创建时调用,用于初始化Activity,加载布局及执行其他必要的设置。它是必须重写的方法。
2. onStart():当Activity变得对用户可见时调用,标志着Activity开始启动。
3. onRestart():如果Activity已停止,但在用户再次访问时,先调用onRestart(),然后是onStart(),表示Activity即将重新变得可见。
4. onResume():Activity准备与用户进行交互时调用,意味着Activity现在是活跃且处于前台。
5. onPause():当Activity即将失去焦点,但尚未完全不可见时调用,用于保存数据和释放资源,因为Activity可能很快被销毁。
6. onStop():当Activity完全不可见时调用,标志着Activity即将被停止。
7. onDestroy():Activity被销毁前的最后一步,通常用于释放所有资源,可能是系统回收内存的结果,也可能是用户手动关闭。
理解并熟练掌握这些生命周期方法对于优化性能、管理资源和确保应用行为正确至关重要。开发者需要根据具体需求,在这些方法中添加适当的逻辑,以保证Activity在不同状态下的正确表现。例如,数据保存可以在onPause()或onStop()中进行,而资源清理则通常在onDestroy()中处理。