Android Activity详解与面试必知

需积分: 10 1 下载量 85 浏览量 更新于2024-09-10 收藏 320KB PDF 举报
"Android面试题及答案" Android面试中,Activity是一个关键的概念,它代表应用程序中的一个用户界面。每个Activity在XML布局文件(通常位于res/layout目录下)中定义,用于展示用户交互的内容和控件。在AndroidManifest.xml文件中注册Activity是必要的,这样系统才能知道如何启动和管理它们。 Activity的生命周期是面试中常见的问题,因为它涉及到应用程序的正确运行和资源管理。生命周期主要由以下几个方法组成: 1. onCreate(Bundle savedInstanceState): 当Activity首次创建时调用。在这个方法中,通常会进行界面初始化和设置基本内容。savedInstanceState参数可用来恢复之前保存的状态。 2. onStart(): Activity变得对用户可见时调用。用户开始能看到Activity,但可能还没有交互。 3. onResume(): Activity开始与用户交互时调用,是Activity变为活动状态的标志。 4. onPause(): 当Activity被部分或完全遮挡,或者系统需要更多资源时调用。适合保存数据和停止长时间运行的操作。 5. onStop(): Activity完全不可见时调用,进一步减少资源消耗。 6. onRestart(): 如果Activity被暂停后重新启动,此方法会被调用。 7. onDestroy(): Activity将从内存中彻底移除时调用,是生命周期的最后一步。 在Activity之间的跳转过程中,一定会经历的方法包括:onCreate()(生命周期开始),onRestoreInstanceState()(恢复界面状态),onRestart()(Activity重启),onStart()(Activity即将可见),onResume()(与用户交互,绘制界面),onSaveInstanceState()(保存UI状态,活动即将移出),onPause()(暂停活动,保存数据,准备切换到下一个Activity),onStop()(Activity不可见),以及onDestroy()(Activity销毁前调用)。 关于横竖屏切换时Activity的生命周期,如果不指定Activity的`android:configChanges`属性,系统默认会重新创建Activity实例,导致onCreate(), onStart(), onResume()等方法重新执行。若设置了`android:configChanges="orientation"`,Activity则会在屏幕方向改变时通过onConfigurationChanged()方法处理配置变化,而不会重建Activity,从而避免了生命周期的完整重置。这种方式可以减少性能开销,但需要手动处理配置变更。 理解并掌握这些知识点对于Android开发者来说至关重要,它们直接影响到应用的性能、用户体验和资源管理。在面试中能够流利地阐述这些概念和实践,将有助于展示开发者扎实的技术基础和问题解决能力。