Android面试深度解析:Activity生命周期与Intent通信

需积分: 0 58 下载量 191 浏览量 更新于2024-10-11 3 收藏 1.03MB DOC 举报
"Android面试大全,一本专注于Android面试的电子书,涵盖了重要的Android开发知识点,特别是关于Activity的深入解析。" 在Android开发中,Activity扮演着核心角色,它是用户界面的主要载体,也是应用交互的入口点。这篇面试指南详细介绍了Activity的相关知识,包括其生命周期、窗口属性设置以及如何处理系统回收等情况。 一、Activity的生命周期 Activity的生命周期由一系列回调方法构成,这些方法在特定时刻由Android系统自动调用。主要的生命周期方法包括: 1. `onCreate(Bundle savedInstanceState)`: 当Activity首次创建时调用,用于初始化界面布局和必要的数据。 2. `onStart()`: Activity可见但不一定是焦点时调用,用户可以感知到Activity的存在。 3. `onResume()`: Activity获取焦点并与用户交互时调用,此时Activity处于前台活动状态。 4. `onPause()`: 当Activity即将被其他Activity覆盖或用户离开Activity时调用,通常用于保存临时数据。 5. `onStop()`: 当Activity完全不可见时调用,比如被其他Activity覆盖或应用被最小化。 6. `onDestroy()`: Activity被销毁前调用,可能是用户关闭或系统资源回收。 这些方法的调用顺序决定了Activity的状态变化,开发者需在相应的方法中处理适当的逻辑。 二、Activity变成窗口:Activity属性设定 Activity可以通过在AndroidManifest.xml中配置来设定各种属性,如主题、启动模式、权限等。例如,通过`android:theme`可以更改Activity的主题样式,`android:launchMode`可以控制Activity的启动行为,如单任务模式、标准模式等。 三、处理后台Activity被系统回收:onSaveInstanceState 当Activity可能被系统回收时,例如内存不足,系统会调用`onSaveInstanceState(Bundle outState)`方法,允许开发者保存当前Activity的状态。在这个方法中,应将临时数据保存到Bundle中,以便在Activity重建时恢复。 四、Activity间的通信:Intent Intent是Android中用于启动新Activity或Service,以及在组件间传递数据的机制。它分为显式Intent和隐式Intent,前者指定目标组件,后者依赖于Intent的Action、Data、Category等信息匹配合适的组件。 面试中,理解并能灵活运用这些知识点对于展示Android开发技能至关重要。熟悉Activity生命周期和Intent的使用,能够帮助开发者编写出更加稳定和高效的应用程序。同时,掌握如何处理Activity被系统回收的情况,可以确保用户在应用中的操作不会因系统行为而丢失。