关闭

Android面试总结

标签: Android版本差异本地库面试
266人阅读 评论(0) 收藏 举报
分类:

1、谈谈你对Android框架的理解:

Android平台融入了面向手持设备的通用计算理念,它是一个综合平台,包含Linux内核,核心C库,Davlik VM 和Java库。

Linux内核用于管理设备、内存和进程。

Dalvik VM:Android SDK支持大多数Java SE(除AWT和Swing),因为Android使用Java编写程序,所以需要一个JVM来解释Java字节码,

                    Android提供了自己的经过优化的JVM,克服手持设备在内存、处理器速度和功率方面的限制,这个JVM就是Dalvik VM,

                    Dalvik VM获取Java类文件,将它们组合成一个或多个Dalvik可执行文件(.dex)。

架构目标:使应用程序彼此交互,重用彼此的组件,例如重用Service,数据和界面。

Android应用程序由三部分组成:描述符文件,资源和代码业务逻辑。

这类似于J2EE,其中资源对应于JSP,业务逻辑对应于Servlet,AndroidManifest.xml对应于web.xml。


2、Android各版本差异:

1.0和1.1版(2008年)   不支持软键盘,需配备物理键盘;

1.5版(2009年)   加入高级媒体录制功能,活动文件夹;

2.0版   引入了高级搜索功能,文本到语音的转换功能;

2.3版   引入WiFi热点,改进的蓝牙功能,应用程序安装到SD卡上,OpenGL ES 2.0支持,针对信用卡处理的近场通信支持,动作和传感器支持,视频聊天等;

3.0版   支持较大屏幕,引入“碎片”概念,action bar和拖放,但是3.x仅支持平板;

4.0版   Android将版本分支合并在一起,形成一个SDK,并进一步优化。


3、Android的C/C++本地库:

WebKit库:负责浏览器支持,WebKit也是谷歌公司的Chrome和苹果公司的Safari使用的库。

FreeType:负责字体支持。

SQLite:也是是关系数据库的一项独立的开源成果,并没有直接绑定到Android。

Android的Java库。

Android设备上的最终应用程序示例。


4、assets文件夹和res下的raw文件夹

 两者都包含原始文件,不会被编译为二进制格式。但raw下文件被当作资源,可以本地化,通过资源ID访问,必须使用流式传输的API来读取这些文件,如音频和视频;

assets支持任意深度的子目录,这些文件不会生成任何资源id。


5、res下一些重要子目录及它们保存的资源类型

anim:  已编译的动画文件。

drawable:  位图。

layout:  UI/视图定义。

values:  数组,颜色,尺寸,字符串和样式。

xml:  已编译的任意xml文件。

raw:  未编译的原始文件。

除了raw资源以外的所有资源,都会被编译放到最终的.apk文件中。








0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:9637次
    • 积分:244
    • 等级:
    • 排名:千里之外
    • 原创:15篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类