百度Android工程师面试题.pdf
百度 Android 开发面试题 1、 Android dvm 的进程和 Linux 的进程, 应用程序的进程是否为同一个概念 DVM 指 dalivk 的虚拟机。每一个 Android 应用程序都在它自己的进程中运行, 都拥有一个独立的 Dalvik 虚拟机实例。而每一个 DVM 都是在 Linux 中的一个进 程,所以说可以认为是同一个概念。 2、sim 卡的 EF 文件有何作用 sim 卡的文件系统有自己规范,主要是为了和手机通讯,sim 本身可以有自己的操作系统,EF 就是作存储并和手机通讯用的 3、嵌入式操作系统内存管理有哪几种,各有何特性 ? 更多请看文档! 【Android工程师面试题解析】 1. **Android DVM与Linux进程的关系** Android应用程序的运行基于Dalvik虚拟机(DVM),每个应用都在其独立的进程中运行,具有单独的DVM实例。DVM是在Linux内核中作为一个进程存在的,因此可以说Android应用进程与Linux进程在概念上是相同的。 2. **SIM卡的EF文件** SIM卡的EF文件是其文件系统的一部分,遵循特定规范,用于与手机进行通信。这些文件存储必要的数据,如用户信息、联系人等,并参与SIM卡与手机之间的交互。 3. **嵌入式操作系统内存管理** 嵌入式操作系统常见的内存管理方式包括页式、段式、段页式。页式管理将内存划分为固定大小的页,通过页表进行地址转换;段式管理按照逻辑结构划分,每个段有自己的地址空间;段页式结合了页式和段式,先按逻辑段划分,再将每段划分为页。这些方法都涉及到MMU(内存管理单元)和虚拟内存技术,确保高效利用和保护内存资源。 4. **嵌入式实时操作系统与Android** 嵌入式实时操作系统(RTOS)是指对实时性要求严格的系统,能快速响应外部事件。Android虽然基于Linux内核,但其响应时间并非严格受控,因此归类为软实时操作系统,适合于对实时性要求相对较低的消费电子设备。 5. **短信长度** 一条标准的短信(Short Message Service, SMS)最多可包含70个中文字符(包括标点符号)或160个英文字符。 6. **Android动画类型** Android支持两种动画:Tween动画和Frame动画。Tween动画用于实现视图组件的位置、大小、透明度变化;Frame动画则通过连续播放预先准备好的图像序列,类似于电影播放。 7. **Handler机制** Handler、Looper和Message Queue构成了Android中的线程间通信机制。Handler负责发送和处理消息,Looper在特定线程中循环取出Message Queue中的消息,Message Queue用于存储待处理的消息,主线程(UI线程)默认有一个Message Queue。 8. **MVC模式在Android中的应用** MVC模式将应用程序分为Model(模型)、View(视图)和Controller(控制器)。事件触发Controller操作Model或View,当Model数据改变,所有依赖的View会自动更新,反之亦然。在Android中,Activity、Adapter和View可以映射为MVC的各个部分。 **其他面试重点** - View的刷新:通过Handler发送消息,然后在Handler中调用`invalidate()`或`postInvalidate()`刷新界面。 - 内存泄露:未关闭的数据库Cursor、未正确使用的Adapter、未回收的Bitmap对象等可能导致内存泄露。使用DDMS检查内存分配和对象生命周期,及时释放资源。 - Activity生命周期:理解各种状态转换,如onCreate(), onStart(), onResume(), onPause(), onStop(), onDestroy()等。 - Activity窗口设置:通过Activity属性定制界面显示。 - 系统回收后台Activity时的处理:利用onSaveInstanceState()保存状态。 - 通信机制:了解Intent、BroadcastReceiver、Service等组件间的通信方式。 以上内容涵盖了Android开发的关键知识点,包括系统架构、内存管理、UI交互和组件通信,这些都是面试中常见的问题。对于希望在Android开发领域深造或寻求职业发展的工程师来说,这些知识至关重要。
剩余11页未读,继续阅读
- 粉丝: 716
- 资源: 260
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助