Android面试精华:Activity生命周期与组件间跳转详解

5星 · 超过95%的资源 需积分: 9 4 下载量 138 浏览量 更新于2024-07-24 2 收藏 220KB DOC 举报
在Android面试中,关于Android应用的基础知识是非常关键的一部分。首先,面试官可能会考察应聘者对Activity的理解。Activity在Android开发中扮演着核心角色,它是四大组件之一,代表了一个用户界面或一个交互场景。作为Context的子类,并且实现了window.callback和keyevent.callback,Activity负责处理窗口相关的用户交互事件,如点击、滑动等。常见的Activity类型包括ListActivity和PreferenceActivity,这些是基础组件,开发者在设计界面时会根据需求自定义BaseActivity。 Activity的生命周期管理是面试中的热点话题。一个Activity从创建到销毁,会经历一系列的状态转换和相应的回调方法。主要包括onCreate、onStart、onResume、onPause、onStop和onDestroy。onCreate用于初始化,onDestroy则是在Activity完全销毁前调用。onStart表示Activity可见但不接收输入焦点,onStop则是Activity失去焦点但仍在后台,onResume则恢复接收输入焦点。值得注意的是,当Activity暂停后,如果没有被完全销毁,而是通过某种方式重新启动,会触发onRestart方法,而不是onCreate。 实际项目中,例如豆瓣客户端,为了确保用户看到的数据始终是最新的,开发者会在onStart方法中进行数据刷新操作。此外,虽然onPostResume和onPostCreate方法也属于生命周期管理的一部分,但在日常开发中可能不常用,因为它们通常在特定情况下才会触发。 在Activity之间的跳转中,常见的行为是源Activity调用onPause方法,目标Activity开始时执行onCreate、onStart和onResume。如果目标Activity是透明或对话框模式,它将不会调用onStop,因为这些Activity通常不需要显示完整界面。 最后,面试时还可能涉及横竖屏切换的情景。当设备从横屏切换到竖屏或反之,Activity的布局和显示会相应改变,但主要的生命周期方法如onCreate、onStart等并不会受到影响。开发者需要确保应用程序能够适应不同的屏幕方向,以提供良好的用户体验。