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

需积分: 10 1 下载量 36 浏览量 更新于2024-09-12 收藏 320KB PDF 举报
Android面试题和答案是每个求职者在准备Android开发工程师职位时的重要参考资料。本文主要关注以下几个关键知识点: 1. **Activity的定义**: - Activity在Android中扮演着核心角色,它是一个单独的用户界面容器,用于展示应用中的不同功能模块。 - 每个Activity都有其对应的XML布局文件,通常位于res/layout目录下。 - 在AndroidManifest.xml中,需声明并注册Activity以便系统知道如何管理和启动它们。 2. **Activity生命周期管理**: - `onCreate(Bundle savedInstanceState)`:当Activity被创建时调用,可以在此设置初始状态,包括处理之前保存的数据。 - `onStart()`:当Activity变为可见时,即使是从后台恢复也会被调用。 - `onResume()`:Activity与用户交互时,这是最主要的运行状态,无论是否启动或重新激活。 - `onPause()`:暂停或回收资源时,保存状态,为可能的活动暂停做准备。 - `onStop()`:活动暂时停止,但还在内存中,当设备切换到其他应用程序时会被调用。 - `onRestart()`:当活动被重新启动时调用,表明它并未被销毁,只是重新加载。 - `onDestroy()`:Activity被系统完全释放内存,意味着它将不再存在。 3. **Activity间跳转的方法**: - 跳转过程中会经历一系列方法调用,如`onCreate()`(初始化)、`onRestoreInstanceState()`(恢复状态)、`onReStart()`(重启)、`onStart()`(可见)、`onResume()`(交互)、`onSaveInstanceState()`(保存状态)和`onPause()`(暂停资源),以及在离开栈前的`onStop()`和最后的`onDestroy()`。 4. **横竖屏切换对Activity的影响**: - 如果在AndroidManifest.xml中未指定`android:configChanges="orientation|screenSize"`属性,当屏幕方向或大小改变时,系统会自动保存当前Activity的状态,并创建一个新的实例来适应新配置。这会触发`onSaveInstanceState()`, `onStop()`, 和`onCreate()`等方法,而不是直接销毁旧Activity。 了解并掌握这些知识点可以帮助面试者充分准备Android面试,展现其对Android开发的理解和实践经验。