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

4星 · 超过85%的资源 需积分: 3 19 下载量 60 浏览量 更新于2024-09-18 收藏 1.07MB DOC 举报
"Android面试题,涉及Activity生命周期、窗口属性设定、状态保存以及Intent通信机制" 在Android面试中,Activity作为应用程序的核心组件,其理解和运用能力是衡量开发者技能的关键点。以下是对标题和描述中提到的知识点进行的详细解析: 一、Activity的生命周期 Activity的生命周期由一系列回调方法构成,这些方法在Activity的不同状态之间被调用。当Activity创建、可见性改变或被销毁时,系统会调用相应的生命周期方法。主要的生命周期方法包括: 1. onCreate(Bundle savedInstanceState):Activity首次创建时调用,用于初始化界面和数据。savedInstanceState参数可以用来恢复之前的状态。 2. onStart():Activity变得对用户可见时调用,但可能不完全在前台。 3. onResume():Activity完全在前台,准备与用户交互时调用。 4. onPause():当Activity被部分或完全遮挡,或者即将进入后台时调用。通常在此做保存用户数据和停止动画等操作。 5. onStop():Activity完全不可见时调用,可能被系统回收。 6. onDestroy():Activity即将被销毁时调用,是清理资源的最佳时机。 二、Activity变成一个窗口:Activity属性设定 Activity可以通过在AndroidManifest.xml中设置属性来控制其行为和外观,例如: - `android:theme`:定义Activity的主题样式。 - `android:launchMode`:控制Activity的启动模式,如单实例、标准、单任务等。 - `android:configChanges`:指定Activity处理哪些配置变化,避免系统重新创建Activity。 三、你后台的Activity被系统回收怎么办:onSaveInstanceState 当Activity可能被销毁时,系统会调用onSaveInstanceState(Bundle outState),允许开发者保存关键状态。outState参数可以用来存储临时数据,比如用户输入的数据。如果Activity后来重建,系统会传递保存的Bundle给onCreate()或onRestoreInstanceState()。 四、调用与被调用:我们的通信使者 - Intent Intent是Android中的一个重要概念,用于在组件间传递消息和启动操作。Intent分为显式Intent和隐式Intent: - 显式Intent:指定要启动的组件的完整类名,用于在同一应用内的组件间通信。 - 隐式Intent:只指定Action、Data、Category等元数据,任何符合这些条件的组件都可以响应,用于跨应用通信。 Intent常用于启动Activity、Service,以及BroadcastReceiver。通过Intent可以实现不同组件间的无缝连接,实现复杂的业务流程。 了解和熟练掌握这些知识点对于应对Android面试至关重要,它们是构建高效、稳定应用的基础。通过深入理解Activity生命周期,能够更好地管理应用状态,确保用户体验的流畅性;而灵活运用Intent和Activity属性,则能实现组件间的高效协作,提高应用的可扩展性和灵活性。