博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android知识点复习(一)-Android系统架构
阅读量:6201 次
发布时间:2019-06-21

本文共 912 字,大约阅读时间需要 3 分钟。

架构图如下:

从上到下依次分为四层:

  • Android应用框架层(Applications)

    Android会同一系列核心应用程序包一起发布,该应用程序包包括email客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等.所有的应用程序都是使用JAVA语言编写的.通常开发人员就处在这一层.

  • Java系统框架层(Application Frameworks)

    提供应用程序开发的各种API进行快速开发,也即隐藏在每个应用后面的是一系列的服务和系统,大部分使用Java编写,所谓官方源码很多也就是看这里.

  • C++系统框架层与Android运行环境(Libraris & Android Runtime)

    1.系统框架层:Android 包含一些C/C++库,这些库能被Android系统中不同的组件使用.它们通过 Android 应用程序框架为开发者提供服务. 2.Android运行环境:该核心库提供了JAVA编程语言核心库的大多数功能。每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。Dalvik被设计成一个设备可以同时高效地运行多个虚拟系统。Dalvik虚拟机执行(.dex)的Dalvik可执行文件,该格式文件针对小内存使用做了优化。同时虚拟机是基于寄存器的,所有的类都经由JAVA编译器编译,然后通过SDK中的"dx"工具转化成.dex格式由虚拟机执行。

  • Linux内核层(Linux Kernel) Android的核心系统服务依赖于Linux 2.6 内核,如安全性,内存管理,进程管理, 网络协议栈和驱动模型。 Linux 内核也同时作为硬件和软件栈之间的抽象层。其外还对其做了部分修改,主要涉及两部分修改:

    1.Binder (IPC):提供有效的进程间通信,虽然linux内核本身已经提供了这些功能,但Android系统很多服务都需要用到该功能,为了某种原因其实现了自己的一套。

    2.电源管理:主要是为了省电,毕竟是手持设备嘛,低耗电才是我们的追求。

转载于:https://juejin.im/post/5b169e7f6fb9a01e77547f4e

你可能感兴趣的文章
虚拟机克隆后修改网卡
查看>>
安装Linux7.3、IP配置
查看>>
centos6.7-keepalived-DNS-ntp一主一从服务器端配置
查看>>
Centos搭建Samba
查看>>
/etc/rc.d 和/etc/rc/local文件区别
查看>>
hyper-v故障转移群集之2、安装故障转移群集功能
查看>>
FPGA设计——CMOS图像采集与以太网传输显示(OV7670)
查看>>
Projects和Tasks
查看>>
exchange 2013 lesson 4 - installing
查看>>
openssl make install : * [install_docs] 异常 255”
查看>>
Linux文件权限详解
查看>>
Linux 2 unit9 ftp/vsftp
查看>>
基于kubernetes构建Docker集群管理详解
查看>>
如何给其他会话设置session级别的参数
查看>>
win7使用arp-d提示参数错误的解决办法。
查看>>
两种方式轻松安装Xen
查看>>
苹果开发者账号申请时报错提示错误:Legal Entity Name
查看>>
Linux很强大并不意味Unix将被终结
查看>>
linux PPPOE服务端配置
查看>>
MySQL双主(主主)架构方案
查看>>