Android面试题(六)--重要
59. Android 引入广播机制的用意?
答:a:从 MVC 的角度考虑(应用程序内) 其实回答这个问题的时候还可以这样问,android 为什么要有那 4 大组件,现在的移动开 发模型基本上也是照搬的 web 那一套 MVC 架构,只不过是改了点嫁妆而已。android 的四 大组件本质上就是为了实现移动或者说嵌入式设备上的 MVC 架构,它们之间有时候是一种 相互依存的关系, 有时候又是一种补充关系, 引入广播机制可以方便几大组件的信息和数据 交互。
b:程序间互通消息(例如在自己的应用程序内监听系统来电)
c:效率上(参考 UDP 的广播协议在局域网的方便性)
d:设计模式上(反转控制的一种应用,类似监听者模式)
60. Android dvm 的进程和 Linux 的进程, 应用程序的进程是否为同一个概念 DVM 指 dalivk 的虚拟机。每一个 Android 应用程序都在它自己的进程中运行,都拥有 一个独立的 Dalvik 虚拟机实例。而每一个 DVM 都是在 Linux 中的一个进程,所以说可以 认为是同一个概念。
61. sim 卡的 EF 文件有何作用 sim 卡的文件系统有自己规范,主要是为了和手机通讯,sim 本 身可以有自己的操作系 统,EF 就是作存储并和手机通讯用的 62. 嵌入式操作系统内存管理有哪几种, 各有何特性 页式,段式,段页,用到了 MMU,虚拟空间等技术
63. 什么是嵌入式实时操作系统, Android 操作系统属于实时操作系统吗? 嵌入式实时操作系统是指当外界事件或数据产生时, 能够接受并以足够快的速度予以处 理, 其处理的结果又能在规定的时间之内来控制生产过程或对处理系统作出快速响应, 并控 制所有实时任务协调一致运行的嵌入式操作系统。主要用于工业控制、 军事设备、 航空航 天等领域对系统的响应时间有苛刻的要求, 这就需要使用实时系统。 又可分为软实时和硬实 时两种,而 android 是基于 linux 内核的,因此属于软实时。
64. 一条最长的短信息约占多少 byte? 中文 70(包括标点),英文 160,160 个字节。
65. android 中的动画有哪几类,它们的特点和区别是什么? 两种,一种是 Tween 动画、还有一种是 Frame 动画。Tween 动画,这种实现方式可以 使视图组件移动、放大、缩小以及产生透明度的变化;另一种 Frame 动画,传统的动画方法, 通过顺序的播放排列好的图片来实现,类似电影。
66. 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)线程: thread 通常就是 main thread, Android 启动程序时会替它建立一个 Message UI 而 Queue。
67. 说说 mvc 模式的原理,它在 android 中的运用 MVC(Model_view_contraller)”模型_视图_控制器”。 MVC 应用程序总是由这三个部分组 成。Event(事件)导致 Controller 改变 Model 或 View,或者同时改变两者。只要 Controller 改变了 Models 的数据或者属性,所有依赖的 View 都会自动更新。类似的,只要 Contro
68. DDMS 和 TraceView 的区别? DDMS 是一个程序执行查看器,在里面可以看见线程和堆栈等信息,TraceView 是程序性能 分析器 。
69. java 中如何引用本地语言 可以用 JNI(java native interface java 本地接口)接口 。
70. 谈谈 Android 的 IPC(进程间通信)机制 IPC 是内部进程通信的简称, 是共享"命名管道"的资源。Android 中的 IPC 机制是为了让 Activity 和 Service 之间可以随时的进行交互,故在 Android 中该机制,只适用于 Activity 和 Service 之间的通信,类似于远程方法调用,类似于 C/S 模式的访问。通过定义 AIDL 接口 文件来定义 IPC 接口。Servier 端实现 IPC 接口,Client 端调用 IPC 接口本地代理。 71. NDK 是什么 NDK 是一些列工具的集合,NDK 提供了一系列的工具,帮助开发者迅速的开发 C/C++的动 态库,并能自动将 so 和 java 应用打成 apk 包。 NDK 集成了交叉编译器,并提供了相应的 mk 文件和隔离 cpu、平台等的差异,开发人员只 需简单的修改 mk 文件就可以创建出 so