千家信息网

Android架构的示例分析

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要介绍了Android架构的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1 架构图直观下面这张图展示了Androi
千家信息网最后更新 2026年11月01日Android架构的示例分析

这篇文章主要介绍了Android架构的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

1 架构图直观

下面这张图展示了Android系统的主要组成部分:

可以很明显看出,Android系统架构由5部分组成,分别是:Linux Kernel、Android Runtime、Libraries、Application Framework、Applications。第二部分将详细介绍这5个部分。

2、架构详解

现在我们拿起手术刀来剖析各个部分。其实这部分SDK文档已经帮我们做得很好了,我们要做的就是拿来主义,然后再加上自己理解。下面自底向上分析各层。

2.1、Linux Kerne

Android基于Linux 2.6提供核心系统服务,例如:安全、内存管理、进程管理、网络堆栈、驱动模型。Linux Kernel也作为硬件和软件之间的抽象层,它隐藏具体硬件细节而为上层提供统一的服务。

如果你学过计算机网络知道OSI/RM,就会知道分层的好处就是使用下层提供的服务而为上层提供统一的服务,屏蔽本层及以下层的差异,当本层及以下层发生了变化不会影响到上层。也就是说各层各司其职,各层提供固定的SAP(Service Access Point),专业点可以说是高内聚、低耦合。

如果你只是做应用开发,就不需要深入了解Linux Kernel层。

2.2、Android Runtime

Android包含一个核心库的集合,提供大部分在Java编程语言核心类库中可用的功能。每一个Android应用程序是Dalvik虚拟机中的实例,运行在他们自己的进程中。Dalvik虚拟机设计成,在一个设备可以高效地运行多个虚拟机。Dalvik虚拟机可执行文件格式是.dex,dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。

大多数虚拟机包括JVM都是基于栈的,而Dalvik虚拟机则是基于寄存器的。两种架构各有优劣,一般而言,基于栈的机器需要更多指令,而基于寄存器的机器指令更大。dx 是一套工具,可以將 Java .class 转换成 .dex 格式。一个dex文件通常会有多个.class。由于dex有時必须进行***化,会使文件大小增加1-4倍,以ODEX结尾。

Dalvik虚拟机依赖于Linux 内核提供基本功能,如线程和底层内存管理。

2.3、Libraries

Android包含一个C/C++库的集合,供Android系统的各个组件使用。这些功能通过Android的应用程序框架(application framework)暴露给开发者。下面列出一些核心库:

系统C库——标准C系统库(libc)的BSD衍生,调整为基于嵌入式Linux设备

媒体库——基于PacketVideo的OpenCORE。这些库支持播放和录制许多流行的音频和视频格式,以及静态图像文件,包括MPEG4、 H.264、 MP3、 AAC、 AMR、JPG、 PNG

界面管理——管理访问显示子系统和无缝组合多个应用程序的二维和三维图形层

LibWebCore——新式的Web浏览器引擎,驱动Android 浏览器和内嵌的web视图

SGL——基本的2D图形引擎

3D库——基于OpenGL ES 1.0 APIs的实现。库使用硬件3D加速或包含高度优化的3D软件光栅

FreeType ——位图和矢量字体渲染

SQLite ——所有应用程序都可以使用的强大而轻量级的关系数据库引擎

2.4、Application Framework

通过提供开放的开发平台,Android使开发者能够编制极其丰富和新颖的应用程序。开发者可以自由地利用设备硬件优势、访问位置信息、运行后台服务、设置闹钟、向状态栏添加通知等等,很多很多。

开发者可以完全使用核心应用程序所使用的框架APIs。应用程序的体系结构旨在简化组件的重用,任何应用程序都能发布他的功能且任何其他应用程序可以使用这些功能(需要服从框架执行的安全限制)。这一机制允许用户替换组件。

所有的应用程序其实是一组服务和系统,包括:

视图(View)——丰富的、可扩展的视图集合,可用于构建一个应用程序。包括包括列表、网格、文本框、按钮,甚至是内嵌的网页浏览器

内容提供者(Content Providers)——使应用程序能访问其他应用程序(如通讯录)的数据,或共享自己的数据

资源管理器(Resource Manager)——提供访问非代码资源,如本地化字符串、图形和布局文件

通知管理器(Notification Manager)——使所有的应用程序能够在状态栏显示自定义警告

活动管理器(Activity Manager)——管理应用程序生命周期,提供通用的导航回退功能

2.***pplications

Android装配一个核心应用程序集合,包括电子邮件客户端、SMS程序、日历、地图、浏览器、联系人和其他设置。所有应用程序都是用Java编程语言写的。更加丰富的应用程序有待我们去开发!

感谢你能够认真阅读完这篇文章,希望小编分享的"Android架构的示例分析"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

程序 应用 应用程序 管理 系统 开发 架构 功能 核心 服务 文件 格式 开发者 浏览器 硬件 篇文章 浏览 分析 上层 内存 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技海报 上海睿民互联网科技有限公司 新华互联网科技 华服互联网科技怎么样 未来的互联网科技 阿里巴巴算科技企业还是互联网 互联网科技与大数据专业 富国互联网金融科技混合基金 陕西云淼互联网科技公司 互联网科技包装股份有限公司上市 宁波跨境商互联网科技有限公司 西安有哪些互联网高科技企业 陕西九四连强互联网科技有限公司 银川新华互联网科技学校是国营吗 兰石爱特工业互联网科技分公司 银川新华互联网科技学校原画 绵阳真晨互联网科技有限公司 互联网的科技体现在哪里 瑞安市蟠桃会互联网科技有限公司 科技美学互联网 艺术 蓝思科技飞鸽互联网 科技互联网产品 唐信互联网科技 大连 新浪科技互联网 广西拼得多互联网科技有限公司 厦门比较好的科技互联网公司 乌苏新华互联网科技做什么的 上海互联网科技公司ppt 悟空问答互联网科技 安徽零酒互联网科技有限公司
0