word
word
2 / 22
word
Android常用面试简答题
android 中的动画有哪几类,它们的特点和区别是什么?
参考答案:
有两种,一种是 Tween〔补间〕 动画、还有一种是 Frame〔帧〕 动画。Tween 动画,这种实现方式可以使视图组件移动、放大、缩小以与产生透明度的变化;另一种 Frame 动画,传统的动画方法,通过顺序的播放排列好的图片来实现,类似电影。
请简述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。
说说mvc模式的原理,它在android中的运用
参考答案:
MVC 是 Model,View,Controller 的缩写,从上图可以看出 MVC 包含三个局部:模型〔 Model 〕对象:是应用程序的主体局部,所有的业务逻辑都应该写在该层。视图〔 View 〕对象:是应用程序中负责生成用户界面的局部。也是在整个MVC 架构中用户唯一可以看到的一层,接收用户的输入,显示处理结果。控制器〔 Control 〕对象:是根据用户的输入,控制用户界面数据显示与更新Model 对象状态的局部,控制器更重要的一种导航功能,想用用户触发的相关事件,交给 Model处理。
word
word
3 / 22
word
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 里面处理,当然对业务计算等操作也是必须放在的该层的。
4、通过Intent传递一些二进制数据的方法有哪些?
参考答案:
1). 使用Serializable接口实现序列化,这是Java常用的方法。
2). 实现Parcelable接口,这里Android的局部类比如Bitmap类就已经实现了,同时Parcelable在Android AIDL中交换数据也很常见的。
5、在onCreate方法中Bundle savedInstanceState 这个参数有什么作用?
参考答案:
在onCreate方法中有saveInstanceState这个参数,其实这个参数对应两个方法。void onSaveInstanceState(Bundle outState);void onRestoreInstanceState(Bundle savedInstanceState)。当某个activity变得“容易〞被系统销毁时,说白了就是系统在内存不足或者其他异常情况下把你的Activity销毁时,将调用这个方法。需要注意的是它是系统调用的,并且你的Activity是被动得被销毁。你可以在销毁的时候保存一下数据。然后在onCreate方法中拿出来。那什么情况下能触发这两个方法呢?1〕、当用户按下HOME键时。这是显而易见的,系统不知道你按下HOME后要运行多少其他的程序,自然也不知道activity
Android面精彩试题整理 来自淘豆网m.daumloan.com转载请标明出处.