课程咨询 : 010-57154533

主页 > 企业招聘 > 安卓笔试题 > Android面试题大全(1)
  • Android面试题大全(1)

    发布:鸿运彩票网      来源:鸿运彩票网      时间:2016-06-03 11:16

  •   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,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中的运用

      Android的官方建议应用程序的开发采用mvc模式。何谓mvc?

      mvc是model,view,controller的缩写,mvc包含三个部分:

      l模型(model)对象:是应用程序的主体部分,所有的业务逻辑都应该写在该层。

      l视图(view)对象:是应用程序中负责生成用户界面的部分。也是在整个mvc架构中用户唯一可以看到的一层,接收用户的输入,显示处理结果。

      l控制器(control)对象:是根据用户的输入,控制用户界面数据显示及更新model对象状态的部分,控制器更重要的一种导航功能,想用用户出发的相关事件,交给m哦得了处理。

      Android鼓励弱耦合和组件的重用,在Android中mvc的具体体现如下:

      1)视图层(view):一般采用xml文件进行界面的描述,使用的时候可以非常方便的引入,当然,如何你对Android了解的比较的多了话,就一定 可以想到在Android中也可以使用javascript+html等的方式作为view层,当然这里需要进行java和javascript之间的通 信,幸运的是,Android提供了它们之间非常方便的通信实现。

      2)控制层(controller):Android的控制层的重 任通常落在了众多的acitvity的肩上,这句话也就暗含了不要在acitivity中写代码,要通过activity交割model业务逻辑层处理, 这样做的另外一个原因是Android中的acitivity的响应时间是5s,如果耗时的操作放在这里,程序就很容易被回收掉。

      3)模型层(model):对数据库的操作、对网络等的操作都应该在model里面处理,当然对业务计算等操作也是必须放在的该层的。


上一篇:没有了

下一篇:Android面试题大全(2)

最新开班日期

开班时间 2017/02/20
距离开班时间还剩

1 2 3
©2016 鸿运彩票网 版权所有 京ICP备15049804-3号