Android的系统构架_惠州Android开发
作者:黄君发布时间:2020-12-21分类:计算机教程浏览:1039
Android 的系统构架分为四层,而这四层又是由五部分组成的。
Android系统架构从下层到上层分别是:Linux内核层、系统运行库层、应用程序框架层和应用程序层。
Linux内核层
处于最底层的Linux内核层提供了基本的系统功能,例如流程管理、内存管理、设备管理、电源管理等。它还提供许多驱动,例如显示驱动、摄像头驱动、键盘驱动、wifi驱动、内存驱动等。
如果你想从事Android驱动开发,那就应该研究Android的Linux内核。
系统运行库层
这一层大部分都是用C/C++写的。这一层为上层提供它们所需的Java类库和运行环境。如果你是从事Android系统开发的,那就应该研究Android的系统库和Android运行时。
从图中可以看出,系统运行库层可以分成两部分,分别是系统库和Android运行时。
1) 系统库
它是连接应用程序框架层与Linux内核层的重要纽带。Android包含一些 C/C++库,这些库能被 Android 系统中不同的组件使用。它们通过 Android 应用程序框架为开发者提供服务。
以下是一些核心库:
WebKit:Android浏览器内核,用来渲染网页。
SQLite:轻量级的关系型数据库,便于存储和共享应用程序数据。
SSL库:负责互联网安全。
多媒体库:支持多种常用的音频、视频格式录制和回放,编码格式包括MPEG4、MP3、H.264、AAC、ARM等。
FreeType: 提供字体的描绘与显示服务。
SGL:底层的2D图形引擎。
Libc:从标准C系统函数库,专门为基于embedded linux的设备定制。
2) Android运行时
Android应用程序都在Android运行时中执行,其运行时分为核心库和Dalvik虚拟机两部分。
核心库提供了Java API中的大多数功能,同时也包含了Android的一些核心API。
Dalvik虚拟机是Google公司自己开发的用于Android平台的Java虚拟机,它适合内存和处理器速度有限的系统。不同于JDK运行 .class 文件,Dalvik虚拟机运行 .Dex 文件(由 .class 转换而来)。
在Android中可以同时运行多个Dalvik实例,并且每个Dalvik应用都是一个独立的Linux进程。独立的进程可以防止在虚拟机崩溃的时候所有程序都被关闭。
很长时间以来,Dalvik虚拟机一直被用户指责为拖慢Android运行速度、不如IOS的根源。不过Google在2014年的I/O大会上推出了Android L,删除了Dalvik,由传闻已久的ART代替,表现更佳。
应用程序框架层
这一部分用Java编写,开发人员可以直接使用其提供的组件来进行快速的应用程序开发。若是从事Android应用程序开发,那应该研究Android的应用框架层和应用程序层。
框架层由多个系统服务组成,应用层的程序时刻都在与这些系统服务打交道。每一次构造窗口、处理用户交互事件、绘制界面、获得当前地理信息,都是在各个系统服务支持下实现的。该层是Android应用开发的基础,开发人员大部分情况是在和它打交道。
应用程序框架层包括:
Activity Manager(活动管理器):管理各个应用程序生命周期。
Window Manager(窗口管理器):管理所有的窗口程序。
Content Provider(内容提供器):使得不同应用程序之间存取或者分享数据。
View System(视图系统): 构建应用程序的基本组件。
Package Manager(包管理器) :Android系统内的程序管理。
Resource Manager(资源管理器):提供应用程序使用的各种非代码资源,如本地化字符串、图片、布局文件、颜色文件等。
Location Manager(位置管理器):提供位置服务。
应用程序框架层提供了许多高级服务的Java类的形式。应用程序开发人员可以通过实例化这些类来调用这些服务。
应用程序层
Android应用层由运行在Android设备上的所有应用程序(APP)共同构成,它不仅包括通话、短信、联系人等系统应用,还包括其他后续安装到设备中的第三方应用。
最后说一下Dalvik和ART的不同。
由于Dalvik被指责为拖慢应用程序运行速度的罪魁祸首,Google 花了两年的时间来开发执行效率更高更省电的ART(Android Runtime),用以代替Dalvik。
ART执行程序的方式与Dalvik完全不同:
Dalvik 在程序运行时依靠一个即时编译器(Just-In-Time,简称JIT)将字节码翻译成机器码,因为多了一个环节,并不是非常高效。
ART 在应用程序安装时就会把字节码转换成机器码,这种机制叫做Ahead-Of-Time,简称 AOT。因为程序运行时没有了解释字节码这一环节,因而启动更快,执行效率更高,触控更加灵敏,体验更加流程。
不过,ART需要更大的内存空间占用,可能会增加10%-20%,而且程序安装速度比Dalvik慢。
还好现在的智能手机ROM都比较大了,不少旗舰级的ROM都到了3G,低端机也有1G了,512M的很少了,ART 以“空间换时间”的做法看似是比较明智的。
Google已经不是第一次使用“空间换时间”的把戏了,例如,大家都知道Chrome浏览器很快很流畅,可是内存占用也多。
标签:惠州北大青鸟惠州JAVA培训惠州IT培训惠州软件培训惠州软件开发惠州安卓培训惠州安卓系统开发惠州Android培训
相关推荐
- 转职Web前端开发要具备哪些技术?_惠州前端培训学校
- 转行Web前端开发要掌握哪些技术?_惠州前端培训学校
- 如何学习Web前端知识转型?_惠州前端培训学校
- Web前端工程师必须具备哪些JS技巧?_惠州前端培训学校
- Web前端开发|怎么封装几个Vue3中很有用的组合式API?_惠州前端培训学校
- Web前端开发如何使用JS中的arguments?_惠州前端培训学校
- Web前端开发如何在TypeScript中使用基本类型?_惠州前端培训学校
- 优秀Web前端开发工程师必须具备哪些技能?_惠州前端培训学校
- Web前端开发|GraphQL是什么?_惠州前端培训学校
- Web前端工程师要学会哪些技能?_惠州前端培训学校
- 计算机教程排行
-
- 1汕头信息:“公共就业服务进校园”粤东专场在汕头大学举行|||计算机网络培训学校
- 2江门信息:构建和谐劳动关系优化提升营商环境江门市开展推进新时代和谐劳动关系创建活动|||广州学电脑培训学校
- 3汕头信息:2024年广东省公共就业服务进校园粤东片区专场活动诚邀各用人单位参会|||广州计算机编程培训
- 4广州中考成绩公布,高中阶段学校录取控制分数线公布,普高最低控制线502分
- 5清远信息:校企双向奔赴清远市人社部门携企赴省内外高校招才引智|||广州计算机编程培训
- 6江门信息:工伤保险缴费误区:最低工资非缴费基准,违规用人单位将面临法律风险!|||计算机软件培训学校
- 7惠州信息:2024年第一季度惠州人力资源市场供求情况|||北大青鸟计算机培训中心
- 8惠州信息:“惠州市就业驿站巡礼”之惠阳新圩站|||大学生计算机培训学校
- 9汕尾信息:世界技能大赛获奖选手全省巡回宣讲交流活动走进汕尾|||电脑计算机编程培训学校
- 标签列表
-
- Java (3694)
- 北大青鸟 (3713)
- 软件开发 (3613)
- JAVA (3413)
- UI设计入门 (2093)
- 惠州北大青鸟 (4375)
- 惠州IT培训 (2558)
- UI设计培训 (2090)
- 惠州UI设计培训 (2095)
- 惠州UI设计培训学校 (2090)
- 惠州计算机软件培训 (6260)
- 惠州计算件软件开发 (6260)
- 惠州计算机软件基础 (6261)
- 惠州计算机JAVA培训 (3574)
- 惠州计算机Java软件开发 (3620)
- 惠州计算机JAVA软件开发 (4645)
- 惠州计算机JAVA软件开发学校 (3338)
- 惠州计算机Java软件开发培训 (3338)
- 北大青鸟IT计算机学校 (5048)
- 北大青鸟IT软件学校 (5062)
- 北大青鸟IT学校 (5059)
- 惠州计算机UI设计软件开发 (2088)
- UI设计基础教程 (2088)
- UI设计是什么 (2088)
- UI设计教程 (2088)
- 网站分类
-
- 计算机教程
- 计算机入门
- 职业学校
- 新闻动态
- 专业课程
- 热门技术
- SEO
- 培训教程
- windows
- linux教程
- 系统集成
- 网站开发
- Html5
- 办公软件
- 师资力量
- 热点问答
- 联系我们
- 计算机学校
- 惠州计算机学校
- 河源计算机学校
- 广州计算机学校
- 深圳计算机学校
- 湛江计算机学校
- 佛山计算机学校
- IT计算机培训信息
- 设计专业
- UI
- 影视特效
- 游戏动漫设计
- Photoshop
- AI设计
- 软件教程
- Java技术
- C语言/C++语言培训
- C#
- Python技术
- PHP
- 数据库
- SQL Server
- 网络教程
- 网络安全
- 网络营销
- 软件专业
- 大数据专业
- 前端开发专业
- 软件测试专业
- Python专业
- 软件实施
- 珠海计算机学校
- 初中生学什么好
- 计算机认证
- 文章归档
-
- 2024年11月 (14)
- 2024年10月 (32)
- 2024年9月 (29)
- 2024年8月 (68)
- 2024年7月 (59)
- 2024年6月 (43)
- 2024年5月 (48)
- 2024年4月 (80)
- 2024年3月 (65)
- 2024年2月 (54)
- 2024年1月 (25)
- 2023年12月 (12)
- 2023年11月 (73)
- 2023年10月 (134)
- 2023年9月 (34)
- 2023年8月 (3)
- 2023年7月 (3)
- 2023年6月 (12)
- 2023年5月 (30)
- 2023年4月 (72)
- 2023年3月 (11)
- 2023年2月 (34)
- 2023年1月 (37)
- 2022年12月 (78)
- 2022年11月 (359)
- 2022年6月 (1193)
- 2022年5月 (570)
- 2022年4月 (1567)
- 2022年3月 (982)
- 2022年2月 (54)
- 2022年1月 (182)
- 2021年9月 (308)
- 2021年8月 (1704)
- 2021年7月 (2423)
- 2021年6月 (1806)
- 2021年5月 (1569)
- 2021年4月 (1380)
- 2021年3月 (1255)
- 2021年2月 (709)
- 2021年1月 (1521)
- 2020年12月 (3626)
- 2020年11月 (1646)
- 2020年10月 (1046)
- 2020年9月 (592)
- 最近发表
-
- 清远信息:2024年广清杯清远南粤家政技能大赛举行决赛|||计算机培训机构
- 汕尾信息:陈良川带队到汕尾技师学院调研|||计算机职业技能培训班
- 东莞信息:凤岗凤岗镇组织召开社保参保缴费及劳动用工政策宣讲会|||计算机软件培训学校
- 阳江信息:2024年度注册城乡规划师职业资格考试的合格标准是怎样的?|||计算机软件培训学校
- 阳江信息:职业技能提升补贴对象有哪些?|||大学生计算机培训学校
- 清远信息:清远市首家社保服务合作网点在清城区举办启动仪式|||计算机职业技能培训班
- 汕头信息:招聘658名中高端人才!2024年汕头市引进中高端人才专场招聘会举行|||北大青鸟计算机培训中心
- 东莞信息:广东省社保智能经办现场会在东莞召开|||大学生计算机培训学校
- 东莞信息:东坑镇举办2024年重点群体系列招聘活动|||计算机职业技能培训班
- 东莞信息:万江万江街道成功举办第四届粤菜师傅烹饪技能竞赛|||广州计算机编程培训