Android面试--Android系统架构

在这里插入图片描述
如上图所示:
Linux内核层:计算资源,存储资源,外设资源的管理;驱动内容;
内核层主要功能:提供设备驱动(WIFI、蓝牙、照相机等), 操作系统管理功能(内存、进程管理等等);

Android运行库:虚拟机和核心库;
其中核心库的内容:1 Java标准API(java包);2 Java扩展API(javax包);3 企业和组织提供的Java类库(org包);
核心库提供的功能:基础数据结构、数学、I/O、工具、数据库、网络等库;
核心库功能:Data structures,Utilities, File access , Network Access,Graphics ;

Android类库:基本由C、C++写的Android原生类库,每个负责特定的硬件设备结合或者响应UI的输入请求,如2D、3D的渲染等;
1 Webkit:浏览器引擎,让网页浏览的应用程序中
2 OpenGL:3D图形
3 SGL:2D图形
4 Surface Manager:屏幕上窗口管理器,用于视图渲染
5 SQLite:数据库引擎
6 Open SSL:互联网安全协议,支持SSL、TSL协议
7 Media Framework:提供播放、录制各种视频、音频的格式。
8 libc:远程C系统库。
9 网络:提供对网络栈
10 硬件:提供访问硬件的东西。
11 操作系统:提供访问操作系统服务
12 小工具:提供UI组件集合(如按钮,标签等)
13 Free Type: 字体渲染

Android Framework层:Android开发调用的系统服务功能;
Core Platform Services
• Activity Manager: 管理App的生命周期
• Package Manager :用于找到设备上安装的Apps包
• Window Manager : 将用户的操作,翻译成为指令,发送给呈现在界面上的各个Window
• Resource Manager :同App的资源管理
• Content Providers :多个Apps之间共享数据
• View System: 用于在UI创建一组视图

Hardware Services
• Telephony Service :电话呼叫管理
• Location Service :GPS定位管理
• Bluetooth Service :蓝牙管理
• WiFi Service :WIFI管理
• USB Service :USB管理
• Sensor Service :传感器管理

Android应用层:

问题2:每一次如何提供给上一层接口;

问题3:JNI的调用;

猜你喜欢

转载自blog.csdn.net/YSSY6886/article/details/89216142