安卓面试题整理
2015-10-10 14:21
357 查看
1.安卓[b]dvm的进程和Linux的进程,应用程序的进程是否为同一概念?[/b]
答: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"
或者:[b]设为:android:Theme="@android:style/Translucent"[/b]
[b]12.后台的activity被系统回收了怎么办?[/b]
[b]答:[/b]
答: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"
或者:[b]设为:android:Theme="@android:style/Translucent"[/b]
[b]12.后台的activity被系统回收了怎么办?[/b]
[b]答:[/b]
相关文章推荐
- 黑马程序员_多线程总结
- 最近很火的一道 面向对象的面试题 ——携程Java工程师(SBU)
- 技术简历的七要七不要
- Java基础知识强化之集合框架笔记67:Map集合面试题之List,Set,Map等接口是否继承自Map接口
- Java基础知识强化之集合框架笔记66:Map集合面试题之HashMap和Hashtable区别(重要)
- 【SQL】今天的一个sql面试题(分组函数使用)
- iOS进阶面试题
- 黑马程序员-------C中的运算符大集合
- 作为面试官之后的一些体会
- 黑马程序员_IO流
- 黑马程序员--java基础日记--集合
- 黑马程序员—Foundation框架之NSDictionary与NSMutableDictionary
- 黑马程序员_毕向东_Java基础视频教程第01天_20151010(六)
- 投资什么,收益最高?
- 给IT新人的15个建议:苦逼程序员的辛酸反省与总结
- MFC面试问题
- 程序员的未来
- ==与equals
- 从1.5k到18k, 一个程序员的5年成长之路
- 程序员必读的十一本书