android面试题

时间:2022-10-12 16:54:39 面试问题 我要投稿
  • 相关推荐

android面试题

  1. 下列哪些语句关于内存回收的说明是正确的? (b )

android面试题

  A、 程序员必须创建一个线程来释放内存 B、 内存回收程序负责释放无用内存 C、 内存回收程序允许程序员直接释放内存 D、 内存回收程序可以在指定的时间释放内存对象

  2. 下面异常是属于Runtime Exception 的是(abcd)(多选)

  A、ArithmeticException B、IllegalArgumentException C、NullPointerException D、BufferUnderflowException

  3. Math.round(11.5)等于多少(). Math.round(-11.5)等于多少(c). c

  A、11 ,-11 B、11 ,-12 C、12 ,-11 D、12 ,-12

  4.activity、Service、BroadcastReceiver的作用(android)

  Activity:Activity是Android程序与用户交互的窗口,是Android构造块中最基本的一种,它需要为保持各界面的状态,做很多持久化的事情,妥善管理生命周期以及一些跳转逻辑

  service:后台服务于Activity,封装有一个完整的功能逻辑实现,接受上层指令,完成相关的指令,定义好需要接受的Intent提供同步和异步的接口

  BroadCast Receiver:接受一种或者多种Intent作触发事件,接受相关消息,做一些简单处理,转换成一条Notification,统一了Android的事件广播模型

  5.显式intent和隐式intent的区别是什么(android)

  Intent定义:Intent是一种在不同组件之间传递的请求消息,是应用程序发出的请求和意图。作为一个完整的消息传递机制,Intent不仅需要发送端,还需要接收端。

  显式Intent定义:对于明确指出了目标组件名称的Intent,我们称之为显式Intent。

  隐式Intent定义:对于没有明确指出目标组件名称的Intent,则称之为隐式Intent。

  说明:Android系统使用IntentFilter 来寻找与隐式Intent相关的对象。

  6.Android中线程同步的方法

  线程同步的方法可以采用同步方法和同步块。

  7.android 中的动画有哪几种,它们的特点和区别是什么 ?

  两种,一种是补间动画(Tween)动画、还有一种是帧动画(Frame)动画。Tween动画,这种实现方式可以使视图组件移动、放大、缩小以及产生透明度的变化;另一种Frame动画,传统的动画方法,通过顺序的播放排列好的图片来实现,类似电影。

  8.描述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。

  9.说说 android 中 mvc 的具体体现

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

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

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

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

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

  1)视图(view):一般采用xml文件进行界面的描述,使用的时候可以非常方便的引入。

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

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

  10.请介绍下 Android 中常用的五种布局

  帧布局(FrameLayout)

  线性布局(LinearLayout)

  表格布局(TableLayout)

  相对布局(RelativeLayout)

  绝对布局(AbsoluteLayout)

【android面试题】相关文章:

Android的面试题分享11-21

华为android面试题07-30

android岗位职责05-29

android面试调试技巧12-08

android java 实习总结11-20

Android不能承受之乱08-03

Android开发简历模板05-18

android论文参考文献11-08

android面试问题与答案12-09

android 岗位职责范本11-02