Android开发工程师笔试题–001

2015-08-07 20:11 评论 0 条

1、Android DVM的进程和Linux下的进程、应用程序的进程是否同一个概念?

答:Android中的每一个应用程序都在自己的进程中运行,拥有一个独立的Dalvik虚拟机实例。而每一个DVM都是Linux中的一个进程,所以说这三者是同一个概念。

2、SIM卡的EF文件有何用?

答:SIM卡有自己的操作系统,EF文件作存储并和手机通信用的。

3、嵌入式操作系统的内存管理有哪几种?有何特性?

答:页式,段式,段页;用到了MMU、虚拟空间等技术

4、什么是嵌入式实时操作系统?Android操作系统属于实时操作系统嘛?

答:根据字面,不难理解,实时操作系统是指当事件发生或数据产生后,能在最短的时间内做出处理,其处理结果又能在规定的时间内控制生产过程,并控制所有协调一致运行任务的嵌入式操作系统。又分为软实时和硬实时,Android操作系统基于Linux内核,属于软实时。

5、一条最长的短信包含多少个字节?

答:中文70个字节,英文160个字节。

6、Android中的动画有哪几类?它们有何特点和区别?

有Tween动画和Frame动画;Tween动画,这种动画方式可以使视图组件移动、放大、缩小以及透明度的变化;Frame动画,又称为传统动画,按顺序播放排列好的图片来实现。

7、Handler消息传递机制的原理?

答:子线程通过Handler、Looper实现与UI线程之间的通信。子线程借助主线程中的Handler发送消息,每次发送一条消息到主线程,就会被主线程放置到Message Queue(消息队列)里面,主线程中的轮询器Looper发现Message Queue里面有一条消息,就会调用Handler消息处理者,去执行handleMessage()这个方法,我们就可以在这个方法里面更新UI界面等操作。

8、MVC模式的原理?它在Android中的应用?

MVC(Model View Controller),即模型,视图,控制器。Event事件导致Controller改变Model或View,只要Controller改变了Model的数据或属性,View就会自动更新视图显示。类似的,主要Controller改变了View,View就会从Model中获取数据来更新视图显示。

9、谈谈你对内存溢出和内存泄漏的理解?

答:当应用程序消耗完了所有的可用堆空间后,再试图在堆上分配新对象的时就会发生OOM(Out Of  Memory Error)异常,导致应用程序崩溃退出,即称为内存溢出;当Activity、View或Drawable等类的对象长期持有无用的引用,造成被引用对象无法在GC时回收,而长期占用堆空间,称为内存泄漏;内存溢出是应用程序占用了过多的内存空间,超过了其可以承受的范围,内存泄漏是回收不及时或没有回收,而在堆栈中产生许多的无用的引用,过多的内存泄漏会导致内存溢出,从而迫使应用程序崩溃退出。

当前文章价值2.75元,扫一扫支付后添加微信提供帮助!(如不能解决您的问题,可以申请退款)

你可能感兴趣的文章

来源:每日教程每日一例,深入学习实用技术教程,关注公众号TeachCourse
转载请注明出处: https://www.teachcourse.cn/271.html ,谢谢支持!

资源分享

Conversion to Dalvik format failed Conversion to Dalvik format
解决代理账号或FQ:Genymotion离线安装包 解决代理账号或FQ:Genymotio
为什么Genymotion在Window10运行不了? 为什么Genymotion在Window10运
Android Studio如何使用桌面版GitHub管理项目? Android Studio如何使用桌面版