Android面试必备:70+面试题深度解析
5星 · 超过95%的资源 需积分: 10 59 浏览量
更新于2024-07-30
11
收藏 308KB DOC 举报
"Android面试题集锦,涵盖了Activity的基本概念、生命周期及其在实际开发中的应用。"
在Android应用开发中,Activity是四大组件之一,它代表着应用程序中的一个用户交互界面。通常情况下,每个用户界面都会对应一个独立的Activity实例。在创建Activity时,我们通常会使用`setContentView()`方法来设定界面布局,然后通过如`setOnClickListener()`这样的方法来为界面元素绑定事件监听器。由于Activity是Context的子类,并实现了Window.Callback和KeyEvent.Callback接口,因此它可以处理窗口事件和键盘事件。
Activity的生命周期是面试中经常被问到的一个关键点。Activity从创建到销毁会经历多个状态,包括:
1. `onCreate()`: Activity首次创建时调用,用于初始化界面和数据。
2. `onStart()`: Activity变得对用户可见时调用,但用户还不能与其交互。
3. `onResume()`: Activity获得焦点并可以与用户进行交互时调用。
4. `onPause()`: 当Activity被其他Activity覆盖或部分被遮挡时调用,此时仍保持部分可见性。
5. `onStop()`: Activity完全不可见时调用,用户无法感知其存在。
6. `onDestroy()`: Activity将被系统销毁时调用,通常是内存不足或用户主动结束。
在Activity的生命周期中,`onRestart()`方法在Activity被`onStop()`后,但未被`onDestroy()`,当Activity重新回到前台时调用。如果Activity已被销毁,再次启动时将调用`onCreate()`。
在实际项目中,比如在豆瓣客户端,为了确保用户每次进入界面都能看到最新数据,我们通常会在`onStart()`中进行数据的刷新操作。对于多媒体播放,当来电或其他情况导致Activity被`onStop()`时,应暂停视频播放(例如`mediaplayer.pause()`),并将音量设为0。在`onStart()`中,根据之前保存的状态恢复播放现场,例如`mediaplayer.start()`,这样可以提供无缝的用户体验。
此外,Activity还有`onPostResume()`和`onPostCreate()`两个生命周期方法。`onPostResume()`在`onResume()`之后调用,一般用于在用户可以交互之前执行一些额外的初始化工作。`onPostCreate()`则在`onCreate()`完成之后调用,用于在界面创建完毕后执行一些后续操作。尽管这两个方法在某些场景下可能不常用,了解它们的存在可以帮助开发者更全面地理解Activity的生命周期管理。
2012-03-08 上传
2013-05-23 上传
2013-07-27 上传
2011-12-01 上传
2018-05-16 上传
163 浏览量
点击了解资源详情
zhangjianqin1987
- 粉丝: 3
- 资源: 32
最新资源
- 天池大数据比赛:伪造人脸图像检测技术
- ADS1118数据手册中英文版合集
- Laravel 4/5包增强Eloquent模型本地化功能
- UCOSII 2.91版成功移植至STM8L平台
- 蓝色细线风格的PPT鱼骨图设计
- 基于Python的抖音舆情数据可视化分析系统
- C语言双人版游戏设计:别踩白块儿
- 创新色彩搭配的PPT鱼骨图设计展示
- SPICE公共代码库:综合资源管理
- 大气蓝灰配色PPT鱼骨图设计技巧
- 绿色风格四原因分析PPT鱼骨图设计
- 恺撒密码:古老而经典的替换加密技术解析
- C语言超市管理系统课程设计详细解析
- 深入分析:黑色因素的PPT鱼骨图应用
- 创新彩色圆点PPT鱼骨图制作与分析
- C语言课程设计:吃逗游戏源码分享