1.安卓dvm的进程和Linux的进程,应用程序的进程是否为同一概念?
答:dvm指的是dalivk虚拟机,每一个安卓应用程序都运行在它自己的进程中,都拥有一个独立的dvm虚拟机实例,而每一个dvm都对应一个Linux进程,所以可以说三者是同一概念。
2.SIM卡的EF文件有什么作用?
答:SIM卡的文件系统有自己的规范,主要是为了和手机通讯,sim本身可以拥有自己的操作系统,EF文件就是作存储和与手机通讯用的。
3.嵌入式操作系统内存管理有几种,各有什么特性?
答:段式,页式,段页式,用到MMU,虚拟空间等技术。
4.什么是嵌入式实时操作系统,安卓系统属于实时操作系统吗?
答:嵌入式实时操作系统是指当外界事件发生或数据产生时,能接受并以最快的速度及时对数据给予处理,其处理的结果又能在规定的时间内来控制生产过程和处理系统作出快速响应,并控制所有实时任务协调一致运行的嵌入式操作系统。一般用于工业,军事,航天等领域,对系统响应时间有苛刻的要求,它分为软实时和硬实时,安卓系统是基于Linux内核的,属于软实时。
5.一条最长的短信息占多少byte?
答:中文是70(包括标点符号),英文是160。
6.安卓动画有几种,它们的特点和要求是什么?
答:2种,tween和frame,tween可以使视图组件移动,放大,缩小,以及产生透明度的变化,frame是传统的动画方法,顺序的播放排序好的图片,就像电影。
7.handler机制的原理
答:安卓提供handler和looper来满足线程间的通信。handler先进先出原则,looper用来管理特定线程内对象之间的消息交换。looper:一个looper可以产生一个对象,由此来管理线程间的消息队列。handler:你可以构造handler和looper来通信,以便push新消息到message queue,或处理looper从message queue取出送来的消息。message queue:存放线程送来的消息。线程:UI Thread就是main Thread,安卓启动程序时会为它创建一个message queue。
8.说说MVC模式的原理,它在安卓中的应用。
答:mvc即模式-视图-控制器。MVC总是由这三部分组成。事件导致控制器改变模式或视图,只要控制器改变了模式的数据或属性,依赖于它的视图也会随之更新,当然若控制器改变了视图,那么视图会从潜在的模式中获取数据来刷新自己。
9.view的刷新
答:在需要刷新的地方使用handler.sendMessage发送消息,然后在handler.getMessage里执行invaliate或postinvaliate来刷新。
10.GC泄露出现的情况
答:1.数据库的cursor未关闭 2.使用adapter时未用缓存contentView衍生的listview优化,而是new出对象。 3.Bitmap不使用时用recycle()释放。 4.activity中对象的生命周期大于activity的生命周期。
11.让activity变成窗口,activity的属性设置。
答:将activity的主题设为:android:Theme="@android:style/Theme.Dialog"
或者:设为:android:Theme="@android:style/Translucent"
12.后台的activity被系统回收了怎么办?
答: