安卓系统架构以及假造机

打印 上一主题 下一主题

主题 534|帖子 534|积分 1602

Android其本质就是在标准的Linux系统上增长了Java假造机Dalvik,并在Dalvik假造机上搭建了一个JAVA的application framework,所有的应用步伐都是基于JAVA的application framework之上。
Android主要应用于ARM平台,但不仅限于ARM,通过编译控制,在X86、MAC等体系结构的呆板上同样可以运行。
android分为四个层,从高层到低层分别是应用步伐层、应用步伐框架层、系统运行库层和linux焦点层。
蓝色的代表java步伐,黄色的代码为运行JAVA步伐而实现的假造机,绿色部门为C/C++语言编写的步伐库,赤色的代码内核(linux内核+driver)。在Application Framework之下,由C/C++的步伐库组成,通过JNI完成从JAVA到C的调用。

  • 应用步伐
所有的应用步伐都是使用JAVA语言编写的,每一个应用步伐由一个或者多个运动组成,运动必须以Activity类为超类,运动类似于操纵系统上的进程,但是运动比操纵系统的进程要更为机动,与进程类似的是,运动在多种状态之间进行切换。
利用JAVA的跨平台性子,基于Android框架开发的应用步伐可以不消编译运行于任何一台安装有android系统的平台,这点正是Android的英华地点。

  • 应用步伐框架
应用步伐的架构设计简化了组件的重用;任何一个应用步伐都可以发布它的功能块并且任何别的的应用步伐都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。资助步伐员快速的开发步伐,并且该应用步伐重用机制也使用户可以方便的更换步伐组件。
隐藏在每个应用后面的是一系列的服务和系统, 其中包罗;
a.丰富而又可扩展的视图(Views),可以用来构建应用步伐, 它包罗列表(lists),网格(grids),文本框(text boxes),按钮(buttons), 甚至可嵌入的web浏览器。
b.内容提供器(Content Providers)使得应用步伐可以访问另一个应用步伐的数据(如联系人数据库), 或者共享它们自己的数据。
c.资源管理器(Resource Manager)提供非代码资源的访问,如本地字符串,图形,和布局文件(layout files)。
d.关照管理器(Notification Manager)使得应用步伐可以在状态栏中显示自定义的提示信息。
e.运动管理器(Activity Manager)用来管理应用步伐生命周期并提供常用的导航回退功能。

  • 系统运行库
a)步伐库
Android包含一些C/C++库,这些库能被Android系统中不同的组件使用。它们通过Android应用步伐框架为开发者提供服务。
以下是一些焦点库:
主要包罗基本的C库、以及多媒体库以支持各种多媒体格式、位图和矢量字体、2D和3D图形引擎、浏览器、数据库支持。
1.Bionic系统C库。
2.媒体库,基于PacketVideo OpenCORE。
3.Surface Manager 顾名思义,用于管理Surface。
4.Webkit,LibWebCore 浏览器,基于Webkit引擎。
5.SGL 底层的2D图形引擎
6.3D libraries 基于OpenGL ES 1.0 APIs实现。
7.FreeType 位图(bitmap)和矢量(vector)字体显示。
8.SQLite 一个对于所有应用步伐可用,功能强劲的轻型关系型数据库引擎。
别的这里另有一个硬件抽象层。实在Android并非所有的设备驱动都放在linux内核里面,有一部门实现在用户空间,
这么做的主要原因是可以避开Linux所遵循的GPL协议,一般环境下如果要将Android移植到其他硬件去运行,
只必要实现这部门代码即可。包罗:显示器驱动,声音,相机,GPS,GSM等等。
b)Android 运行库
Android 包罗了一个焦点库,该焦点库提供了JAVA编程语言焦点库的大多数功能。
每一个 Android应用步伐都在它自己的进程中运行,都拥有一个独立的Dalvik假造机实例。
Dalvik被设计成一个设备可以同时高效地运行多个假造系统。
Dalvik假造机执行(.dex)的Dalvik可执行文件,该格式文件针对小内存使用做了优化。
自我先容一下,小编13年上海交大结业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技能故步自封!
因此网络整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够资助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。





既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部门目次截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有资助,可以扫码获取!!(备注:Android)
学习宝典

对我们开发者来说,一定要打好基础,随时准备战斗。不论隆冬是否到来,都要把自己的技能做精做深。虽然目前移动端的招聘量确实变少了,但中高端的职位照旧许多的,这说明行业只是变得成熟规范起来了。竞争越激烈,产品质量与留存就变得更加重要,我们进入了技能赋能业务的期间。
   不论遇到什么困难,都不应该成为我们放弃的理由!
  许多人在刚接触这个行业的时候或者是在遇到瓶颈期的时候,总会遇到一些问题,比如学了一段时间感觉没有方向感,不知道该从那里入手去学习,对此我针对Android步伐员,我这边给大家整理了一套学习宝典!包罗不限于高级UI、性能优化、移动架构师、NDK、混合式开发(ReactNative+Weex)微信小步伐、Flutter等全方面的Android进阶实践技能;希望能资助到大家,也节省大家在网上搜索资料的时间来学习,也可以分享动态给身边挚友一起学习!
【Android焦点高级技能PDF文档,BAT大厂面试真题解析】

【算法合集】

【延伸Android必备知识点】

【Android部门高级架构视频学习资源】
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门即可获取!

712402121957)]
【Android部门高级架构视频学习资源】
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门即可获取!


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

瑞星

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表