Android面试:Activity生命周期与Intent解析

版权申诉
0 下载量 117 浏览量 更新于2024-08-15 收藏 36KB PDF 举报
"这篇PDF主要探讨了Android面试中关于Activity的相关知识点,包括Activity的生命周期、Activity的属性设定、处理系统回收及Intent的使用等核心概念。" 在Android开发中,Activity扮演着用户界面的主要角色,它是应用程序与用户交互的窗口。Activity的生命周期是由Android系统统一管理的,以确保在资源有限的情况下优先保证基本功能的运行。以下是Activity的基本生命周期方法的详细解释: 1. `onCreate(Bundle savedInstanceState)`: 当Activity首次创建时,此方法会被调用。在这里,开发者通常会进行布局加载、初始化变量和设置监听器等工作。`savedInstanceState`参数用于在配置变更(如屏幕旋转)时恢复Activity的状态。 2. `onStart()`: 在Activity变得可见但不一定是前台时调用,用户现在可以感知到Activity,但可能仍被其他全屏Activity遮挡。 3. `onResume()`: Activity完全可见并且与用户交互时调用,此时Activity处于活动状态。 4. `onPause()`: 当Activity即将被另一个Activity覆盖,但仍部分可见时调用。在此阶段,应该保存任何必要的数据,因为系统可能会在任何时候调用`onStop()`或`onDestroy()`。 5. `onStop()`: 当Activity完全不可见时调用,通常发生在Activity被移出屏幕或新Activity启动时。在此阶段,大部分资源可以释放,但应保留足够信息以便恢复Activity。 6. `onRestart()`: 如果已停止的Activity重新变为可见,系统会先调用`onRestart()`,然后是`onStart()`和`onResume()`。 7. `onDestroy()`: Activity被销毁前的最后一步,可能是系统需要回收资源或用户主动关闭Activity。开发者在这个方法中进行清理工作,如取消定时器、解除绑定服务等。 在面试中,理解并能够熟练处理Activity生命周期是非常重要的。例如,当Activity被系统回收时,可以通过`onSaveInstanceState(Bundle outState)`方法保存关键数据,以便在重新创建时通过`onCreate(Bundle savedInstanceState)`或`onRestoreInstanceState(Bundle savedInstanceState)`恢复状态。而Intent作为Android中的通信使者,用于启动新的Activity、服务或广播接收者,是理解应用程序内部及不同组件间交互的关键。 面试中还可能涉及如何管理Activity栈(back stack),理解任务(task)和返回栈(back stack)的概念,以及如何通过Intent Flag控制Activity的行为,如FLAG_ACTIVITY_NEW_TASK、FLAG_ACTIVITY_CLEAR_TOP等。此外,了解如何处理配置变化(如屏幕方向切换)而不丢失状态也是重要的一环,这可能需要使用到`onConfigurationChanged(Configuration newConfig)`方法或在AndroidManifest.xml中声明不重启Activity。 深入理解Activity的生命周期、属性设定、系统回收处理和Intent的使用,对于Android开发者来说至关重要,这些知识点在面试中频繁出现,并且是构建高效、稳定应用的基础。