《2018网龙Android面试题解析》 在Android应用开发中,了解并掌握Activity的概念及其生命周期至关重要。Activity作为Android四大组件之一,是用户与应用程序交互的主要接口。每个Activity通常对应一个用户界面,通过`setContentView()`设置要显示的布局。Activity继承自Context,并实现了Window.Callback和KeyEvent.Callback,使得它能处理与窗口交互的各种事件,如按钮点击等。开发者常用到的Activity类型有ListActivity、PreferenceActivity以及TabActivity,有时还会自定义BaseActivity来处理通用的功能。 Activity的生命周期是其从创建到销毁的过程中所经历的一系列状态变化,这些变化伴随着一系列的回调方法。主要的生命周期方法包括:`onCreate()`、`onDestroy()`、`onStop()`、`onStart()`、`onResume()`和`onPause()`。这些方法两两对应,例如`onCreate()`与`onDestroy()`对应创建和销毁,`onStart()`与`onStop()`对应可见与不可见,`onResume()`与`onPause()`对应获取焦点与失去焦点。`onRestart()`方法则在Activity被`onStop()`后,但未被`onDestroy()`时调用,用于重新启动Activity。 在实际应用中,例如豆瓣客户端,为了保证用户每次打开界面都能看到最新数据,我们通常会在`onStart()`方法中进行数据刷新。对于多媒体播放,当接到来电时,`onStop()`方法会暂停视频播放,设置视频声音为0,并记录播放位置;而在`onStart()`时,根据保存的状态恢复现场,继续播放。 在Activity间跳转时,通常的流程是:A活动调用`onPause()`,B活动依次调用`onCreate()`、`onStart()`和`onResume()`,然后A活动调用`onStop()`。如果B活动为透明或对话框样式,A活动不会调用`onStop()`。此外,`onPostResume()`和`onPostCreate()`是两个较少使用的生命周期方法,但在某些特定情况下可能会用到。 横竖屏切换时,Activity的生命周期取决于在AndroidManifest.xml中对Activity的`android:configChanges`属性设置。未设置时,系统会默认销毁并重建Activity;设置为`orientation|keyboardHidden`则只会调用`onConfigurationChanged()`,不销毁Activity。在游戏开发中,通常会固定屏幕方向以保证用户体验。 要将Activity设置为窗口样式,可以在AndroidManifest.xml中自定义Activity的主题,例如`android:theme="@style/FloatActivity"`。这在实现悬浮窗效果时非常有用。 对于可能被系统回收的后台Activity,我们需要在`onSaveInstanceState(Bundle outState)`方法中保存关键数据,以便在Activity重新创建时恢复状态。例如,我们可以将一个ID保存在Bundle中: ```java protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); outState.putLong("id", 1234567890); } ``` 理解和熟练运用Activity的生命周期及状态管理,是成为一名优秀Android开发者的基础。在面试中,这些知识往往是考察的重点,因此,深入理解并能够灵活应用这些概念对于通过网龙或其他公司的面试至关重要。



























剩余27页未读,继续阅读


- 粉丝: 1
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 目标检测数据集的增强手段及源码:含图像旋转、镜像、裁剪、亮度 / 对比度变换等
- 物联网与农业机电一体化技术的关联性分析.docx
- 通信工程发展趋势研究.docx
- PyTorch 实现 GraphSAGE 模型在 Cora、Citeseer 和 Pubmed 数据集上的复现
- IPMP认证历年考试C级模拟试题二.doc
- 试论电气工程及其自动化的智能化技术应用.docx
- 三菱PLC编程软件GXWork2安装图文教程.doc
- 太原理工大学软件工程教材简介.ppt
- 某集团公司信息化规划项目.doc
- 培训演示文稿:excel-2007——创建图表.ppt
- 系统集成项目管理部分英文词汇.doc
- 基于网络平台的大学英语四级听力自主学习分析.docx
- 企业办公自动化系统的设计.doc
- 基于单片机的光电开关的转速测量装置方案设计书.doc
- 面向对象的程序设计方案试题1.doc
- 实验书网络互联技术.doc


