- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
百度Android工程师面试题.pdf
百度 Android 开发面试题
本文来自安卓航班网整理搜集
原文地址:/forum.php?mod=viewthreadtid=2057
1、 Android dvm 的进程和Linux 的进程, 应用程序的进程是否为同一个概念
DVM 指 dalivk 的虚拟机。每一个Android 应用程序都在它自己的进程中运行,
都拥有一个独立的 Dalvik 虚拟机实例。而每一个 DVM 都是在 Linux 中的一个进
程,所以说可以认为是同一个概念。
2、sim 卡的 EF 文件有何作用
sim 卡的文件系统有自己规范,主要是为了和手机通讯,sim 本
身可以有自己的操作系统,EF 就是作存储并和手机通讯用的
3、嵌入式操作系统内存管理有哪几种,各有何特性 ?
页式,段式,段页,用到了 MMU,虚拟空间等技术
4、什么是嵌入式实时操作系统, Android 操作系统属于实时操作系统吗?
嵌入式实时操作系统是指当外界事件或数据产生时,能够接受并以足够快的速度
予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统作
出快速响应,并控制所有实时任务协调一致运行的嵌入式操作系统。主要用于工
业控制、军事设备、
航空航天等领域对系统的响应时间有苛刻的要求,这就需要使用实时系统。又可
分为软实时和硬实时两种,而 android 是基于 linux 内核的,因此属于软实时。
5、一条最长的短信息约占多少byte?
中文 70(包括标点),英文 160个字节
6、 android 中的动画有哪几类,它们的特点和区别是什么?
两种,一种是 Tween 动画、还有一种是 Frame 动画。Tween 动画,这种实现方
式可以使视图组件移动、放大、缩小以及产生透明度的变化;另一种 Frame 动画,
传统的动画方法,通过顺序的播放排列好的图片来实现,类似电影。
7、handler 机制的原理
andriod 提供了 Handler 和 Looper 来满足线程间的通信。Handler 先进先
出原则。Looper 类用来管理特定线程内对象之间的消息交换 (Message Exchange)。
1)Looper: 一个线程可以产生一个 Looper 对象,由它来管理此线程里的
Message Queue(消息队列)。
2)Handler: 你可以构造 Handler 对象来与 Looper 沟通,以便 push 新消息到
Message Queue 里;或者接收 Looper 从 Message Queue 取出)所送来的消息。
3) Message Queue(消息队列):用来存放线程放入的消息。
4)线程:UI thread 通常就是 main thread,而Android 启动程序时会替它
建立一个 Message Queue。
8、说说mvc 模式的原理,它在 android 中的运用
MVC(Model_view_contraller)” 模型_视图_控制器”。 MVC 应用程序总是由这
三个部分组成。Event(事件)导致 Controller 改变 Model 或 View,或者同时改
变两者。只要 Controller 改变了 Models 的数据或者属性,所有依赖的View 都
会自动更新。类似的,只要 Controller 改变了 View,View 会
从潜在的 Model 中获取数据来刷新自己。
View 重绘和内存泄露的好像是面试经常问的问题
1. View 的刷新:
在需要刷新的地方,使用 handle.sendmessage 发送信息,然后在 handle 的
getmessage 里面执行 invaliate 或者 postinvaliate.
2. GC 内存泄露
出现情况:
1.数据库的 cursor 没有关闭
2.构造 adapter 时,没有使用缓存 contentview
衍生 listview 的优化问题减少创建 view 的对象,充分使用
contentview,可以使用一静态类来优化处理 getview 的过程/
3.Bitmap 对象不使用时采用 recycle()释放内存
4.activity 中的对象的生命周期大于activity
调试方法: DDMS== HEAPSZIE==dataobject==[Total Size]
还有其他问题,大家欢迎提出阿,可以是整体架构的,还有这个 Hal 层.
这篇文章会涉及到以下几个内容
一
文档评论(0)