Android面试精华:活动组件与生命周期详解

需积分: 11 6 下载量 34 浏览量 更新于2024-07-21 收藏 275KB DOC 举报
Android面试题总结是一份全面的文档,针对Android移动开发面试者,涵盖了Android开发的核心知识点。本文将深入探讨两个关键主题:Activity的理解和其生命周期管理。 **1. Activity详解** Activity是Android应用程序四大组件之一,它代表了一个独立的用户界面,用于展示内容并处理用户交互。`setContentView()`方法用于指定要显示的布局,而`button.setOnClickListener()`则设置按钮的点击监听器,使得Activity能够响应用户的操作。作为Context的子类,Activity还实现了window.callback和keyevent.callback,确保它可以处理窗口管理和键盘事件。 常见的Activity类型包括FragmentActivity、ListActivity、PreferenceActivity和TabActivity,它们在特定场景下提供基础功能。开发者通常会自定义一个BaseActivity,以便在多个相似Activity之间复用共性代码。 **2. Activity生命周期管理** Activity的生命周期描述了从创建到销毁的一系列状态转换及其关联的方法。关键的方法包括: - `onCreate()`: 当Activity首次创建时调用,这是初始化和设置内容视图的主要位置。 - `onDestroy()`: 活动即将被销毁前调用,通常意味着用户离开或系统内存不足。 - `onStart()`: Activity变为可见但可能不是焦点时调用,适合更新数据。 - `onStop()`: 活动暂停,不再接收用户输入,但还在内存中。 - `onResume()`: 活动获得焦点并可以接受用户输入,是活动恢复操作的好时机。 - `onPause()`: 活动失去焦点但依然在内存中,可能因接听电话或切换任务而触发。 - `onRestart()`: 在Activity从`onStop`状态回到`onStart`之前调用,仅在Activity未被销毁且再次启动时发生。 实际项目中,例如手机卫士这类应用,为了确保用户始终能看到最新数据,刷新列表操作通常放在`onStart()`方法内。对于多媒体播放,当接收到来电时,会暂停视频并将声音设置为0,并在返回时通过`onStart()`恢复播放状态。另外,`onPostResume()`和`onPostCreate()`虽然不是标准生命周期方法,但在某些特定情况下可能会用到,如数据初始化完成后或者Activity重建后。 掌握Activity的生命周期管理是Android开发面试中不可或缺的一部分,理解并能灵活运用这些概念可以帮助开发者编写出高效且用户体验良好的应用程序。