【Android面试知识点详解】 在Android应用开发中,面试题经常涉及到关键概念和技术,尤其是与Activity相关的知识点。Activity作为Android四大组件之一,是用户界面的主要承载者。以下是对这些知识点的详细解析: 1. **什么是Activity?** Activity是Android应用程序中用户交互的主要组件。它通常与一个用户界面相对应,并通过`setContentView()`方法设置布局。Activity继承自Context,并实现了Window.Callback和KeyEvent.Callback接口,因此可以处理窗口和用户交互的事件。开发者通常会根据界面需求创建各种类型的Activity,如ListActivity、PreferenceActivity、TabActivity等,并可能定义一个BaseActivity作为基类,以复用通用代码。 2. **Activity生命周期** Activity的生命周期描述了从创建到销毁过程中调用的方法。主要的生命周期回调包括:`onCreate()`, `onStart()`, `onResume()`, `onPause()`, `onStop()`, `onRestart()`, `onDestroy()`。这些方法两两对应,如`onCreate()`与`onDestroy()`对应创建和销毁,`onStart()`与`onStop()`对应可见与不可见,`onResume()`与`onPause()`对应获取焦点与失去焦点。`onRestart()`则在Activity被`onStop()`后,但未被`onDestroy()`时调用。在实际项目中,如豆瓣客户端,可以在`onStart()`中进行数据刷新,确保用户始终看到最新内容。对于多媒体播放,可以在`onStop()`中暂停并记录播放位置,`onStart()`时恢复播放。 3. **Activity之间的跳转** 当从Activity A启动Activity B时,A会依次调用`onPause()`,B则调用`onCreate()`, `onStart()`, `onResume()`。如果B是透明或对话框样式,A不会调用`onStop()`。 4. **横竖屏切换与Activity生命周期** 横竖屏切换时Activity的生命周期行为取决于清单文件的`android:configChanges`设置。默认情况下,切换会销毁并重建Activity;若设置`orientation|keyboardHidden`,则只调用`onConfigurationChanged()`。在游戏开发中,通常会固定屏幕方向以优化用户体验。 5. **Activity样式设置** 自定义Activity样式可以通过修改AndroidManifest.xml中的`android:theme`属性,如设置为`@style/FloatActivity`,参考手机卫士的程序详细信息。 6. **Activity被系统回收处理** 当后台Activity因内存不足被回收时,可以通过`onSaveInstanceState(Bundle outState)`方法保存状态。系统会在回收前调用此方法,将关键数据保存在Bundle中,例如: ``` protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); outState.putLong("id", 1234567890); } ``` 当Activity重新创建时,可通过`onCreate(Bundle savedInstanceState)`或`onRestoreInstanceState(Bundle savedInstanceState)`恢复这些数据。 以上内容详细介绍了Android面试中常见的Activity相关知识点,包括其定义、生命周期、跳转逻辑、屏幕旋转处理以及状态保存。理解并熟练掌握这些知识对于成为一名合格的Android开发者至关重要。在面试中,能够清晰地阐述这些概念和实践经验将有助于展示你的专业能力。
剩余28页未读,继续阅读
- 粉丝: 1
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助