00:00
简单介绍一下安卓云的系统架构啊,就是每一个学安卓的同学,第一天可能就应该要学它。啊,它呢,整个我先给他整个给大家看看一共是几个层呢。是不是四层呢?刚才看的是不是最上层最下层对吧,但是呢,我们看的时候先从底层开始看,刚才我们说过Android系统基于什么Linux内核,对吧?啊,但它这个内核并只是Linux操作系统的一部分,就它核心部分超出来。能理解吧,好,这个里面包含了很多驱动。这个display什么意思?显示驱动啊,Camera相机驱动,蓝牙驱动这个呢,什么闪存闪存有听说过吗?啊闪存驱动这还有什么,这一个是这估计不知道叫用于进程监控性的,嗯。
01:04
嗯,估计大家也不知道进程,大家只知道什么线程,诶进程应该听说过对不对,听说过吧,诶有一个线程,有一个什么是不是进程啊,啊多先生讲过进程,以前说进程就是个什么啊,是不是就是个应用跑一个应用跑起来就是一个什么是不是进程啊,那我们手机里面是不是可以开启多个应用啊,那就什么是不是多个进程,嗯。来下面有USB驱动,键盘驱动,这是什么?WiFi驱动,音频驱动这个诶这个可以跟大家说一下,现在手机啊,智能手机发展到现在是不是已经很牛逼了啊,功能也特别强大,现在一个很大的瓶颈是什么呢?是电池的续航能力不够。以前的手机搞不好一个月充一次电,那一年下来充12次电是吧?啊,一家人用一块充电器可以了,对不对。
02:11
真大家是不是不相信那个一个一个手机一个月才充一遍啊,有啊,以前的功能机是不是功能特别单一,屏幕就那么一丁点大,大家有见过那个功能机吗?就么一丁点大的屏幕,现在啊,以前跟大家说啊,以前诺基亚出来一个大一点屏幕的,觉得哇,这个屏幕很大是吧,现在你再拿过来,拿一个以前的诺基亚手机,看我的天,太小了,没法看你知道吧。一说到这个,我想起来那个三星最新推那个大屏手机的时候。我就我们就看着就感觉特别不爽,特别不舒服,那个最新大屏手机不是三星推吗?推了以后就是感觉一个板砖啊,在地铁里面你知道吗?就是女孩子喜欢买大屏的手机。
03:01
对吧,今年女孩子喜欢买,看到我在几年说的,看到诶对面坐了一个做了一个女孩子,咔嚓从包里面拿出一个特别大的手明,她手本来不太大,拿这个大屏的特别大的一个三星手机打电话,我说你这个拿个板砖你舒服吗?但是后来看多了吧,你觉得大家都在,你觉得拿着你你又拿的很爽是不是,嗯,再打说实话真的那个有,呃iPhone不6S和u plus嘛,你那个plus我拿过,就感觉你要操作起来特别特别的特别痛苦,知道吧,一个人操单手操作是挺痛苦的一个事情。啊,所以说整个80销量一般对吧,整个啊,因为太大了,特买的很多同学都后悔了,其实就有些同学是为什么喜欢买,有些人为什么喜欢用呢?主要还是看电视啊,看电影比较多的人,对吧?看片是色彩片是吧?好,我们说爱情动作片啊好了来,现在电池的续航能力是阻碍手机发展一个很重要的,就是你现在基本上可以说你的手机必须一天一充,你能坚持两天吗?很难很难,你怎么不怎么用的,感觉坚持两天挺困难的,它那个屏幕是不都要亮着啊,里面系统是不是得运行着提着接身来就很困难,你觉得是安卓才有这个问题吗?
04:39
不是iPhone一样对吧,这是尼斯和下面一个,看它上一层,哎,分为左右两个部分。啊,左边大家看到是什么意思,库我们一般叫它叫内库存,它用的什么语言呢?C和C加加语言。
05:04
哎,这一个第一个是用来显示的管理器,下面这一个media什么意思。多媒体框架对吧?S大家有人知道吗?数据库大家知道啊,现在的移动设备都是用的数据库。IPhone也一样,Windows phone也是一样。就是做嵌在式设备都是用的生态的,因为它什么呢,特别小,以前我们学过什么数据库啊,MYSO,对吧,My serve,像外B开发公司必然会学一个叫什么Oracle,有些人可能在以前学过微软的叫什么s server吧,对吧,这个server好,这些数据库,你觉得这个移动设备能用吗?布罗他们怎么找?几个几百兆。那个是不是更大呀。那你想一想,一装进去那还能干事吗?你知道是吧?呃,你知道这个多大吗?几百K。
06:05
对呀,就是几百K搞定。啊,就这么轻量级对吧,但是基本的SQL语法他都支持。那肯定大家都选择蛤蟆,这很正常的对不对,好下面有两个,一个叫open gl,这是什么呢?用于3D图库啊引擎,再一个呢,下面这个呢,SD是2D的图库引擎。这一个右边这个free,它是一个免费开源的,用于自己显示的。就是文字显示的啊。一个开源的一个框架,下面这个啊,简单说啊,你记不住也没关系,这是你了解一下就行,SSL这是用于安全通信的一个协议。大家知道这个是什么,是浏览器内核。
07:02
啊,好,最后一个呢。啊,C语言核心库。C语言维护,大家还记得C语言怎么写的吗?怎么打印F,还记得吧?啊,我大概写一下print f。我那时候学的是最先学的时候,我觉得这个东西太难写了,就是打印,譬如说我要打印一个,呃,譬如说某某你好啊,就是说你的,譬如说有一个动态的值我要打,譬如说我打印12出来吧。我能打印直接写十吗?不能怎么写,他是不是要去写一个双引号,这个是百分之什么,什么是D,再写个是不是两个参数啊,因为它这个相当于是个什么是一个占位符。对不对,是不是相当于我们以前学的什么常用的问号啊,还记得吧,啊这个站位符,但这个站位符呢,它里面有不一样的东西,对吧,可以传数字的,传int类型的,也可以穿float类型的,各种类型的是吧。
08:11
Okay。估计很多人都蒙圈了是吧?嗯,没学过,拉倒。后面呢,我们应该有一天专门来去讲C语言的核心语法。啊,因为在安卓里面有一门技术叫J。对吧,嗯,后面会学了,大家不用担心啊,那一天就可以让大家相当于学校里面一年,有人说,有人可能就说了,我一年下来有没有变化,是相当于你在学校认真的学C语言学。啊,大家不要怀疑,就这么硬啊,OK好啊,下面一个右边啊,右边呢叫安卓运行时。
09:01
它包含两个啊,下面这个叫什么呢?单位虚拟机叫DVM,那以前我们学过JVM。他们俩什么关系呢?跟大家说一下啊,这个DVM虚拟机啊,David虚拟机是安,嗯,是Google公司专门针对安卓ID操作系统设计的,但它不是从零设计的,就是从无到有设计的,而是去改造什么JM。能理解我说的意思吧,对它进行改造,为什么要改造呢?首先改造以后效率更高,这是一个还一个。啊,就是这个加虚拟机是谁的呀。最先是上公司的对吧,后来变为什么or公司啊。能理解吧,那如果你直接用,那必死无疑,因为有一个什么是不是侵权的问题,对吧,你就侵权了呀,啊即使这样改了以后,那个上层还是上层,这个蓝色的代表的是教育,这是什么核心库,加元核心库是什么东西啊。
10:12
大家知道GRE里面是不是很多包啊?诶,就是指那些包架包,懂意思吧,架包里面都什么?是不是class文件对吧,诶就是那些什么system。什么试菌都在这个里面,能懂吧,就这一些是不是依赖于它来运行呢?能懂吧,我们写一个类是不是最重要,你要没有JVM,你能运行吗?肯定不能嘛。啊,后面发过一个新闻,特别有意思啊,就网上看到的一个新闻,就是关于我公司去告谁呢?告Google公司。告什么呢?特别搞笑,他说啊,你画截了一个图,那个图上面呢,有几行代码啊,就不到十行代码,说哥们,这行代码抄我的,我得告你,因为你这十行代码侵权了。
11:06
中国人让中国人想都都觉得特别搞笑,肯定你说是吧,老外的思维还真是不太一样啊。最后结果不了了之啊,不知道怎么回事啊,可能是相互有默契是吧,你告我告我,我再回忆一下是吧,咱俩吵一吵是吧。好,我公司也是特别牛逼的一个公司啊。下面一个晚上再看,就是叫什么呢应用。啊,框架层。好,这个应用框架是都是看到蓝色的说明是用什么语言写的,加了语言。那这些是什么呢?给大家简单的说一下,看看这个activity manager什么东西?叫activity manager管理者,我们一般叫管理系。
12:01
那么activity是什么呢?估计很多同学不知道啊,它是活动啊,翻译过来叫活动,但是要翻译过来就没法说了,其实它是用来去显示一个界面的,也就是说你在手机里面打开一个应用,是不是能看到一个界面呢?那一个界面就对应一个什么呢?Activity。这个应该能听懂吧,啊,那我有一个button,我1.button又启动了一个界面,那说明什么意思,是不是又产生了一个activity对象啊,哎,就这了,而这一个它是用来管理activity的。就是我内存里面是不是产生了很多activity对象啊,谁来管理了activity manage?这个能理解吧,嗯,下面一个看这个什么。窗口管理器,什么是窗口啊,就是你看到那个屏幕的距离,不就窗口吗?对不对,以前大大现在为止学过GS吗?
13:01
学了吧,好,刚好JS里面有一个对象叫什么呀?Window见过吗?诶,他叫他叫我们有一个代号叫全局对象,也就是说。整个里面window对象有几个?是不是一个呀,是吧,它是不是代表整个窗口对吧?哎,有了类似啊叫窗口的管理器,下面一个来看这一个,这叫什么呀,这个估计大不大叫内容提供者啊。啊,这个呢,这个估计现在说不清楚,他用来去暴露数据的啊,先大致上知道一下啊,能看懂的就看懂,不能看懂了后面再学这个什么意思,视图系统,那视图是个什么东西呢。啊,其实视图就相当于我们平常学的标签div,我们写了一个标签以后,后面我们是不是通过JS能找到这个标签对象啊。对吧,诶这有点像我们HTML的一些标签啊。
14:05
好,下面一个这是什么呢。通知管理通知管理器通知是什么大家知道吗?诶最上面是不是控制栏呢?诶跟大家说一下关于控制栏啊什么意思,就是有很多同有很多人都在说安卓的设计是一直在抄谁呀,IPhone的设计。现在这么说吧,就觉得因为安卓稍微晚一点嘛,对吧。那说实话,基于这个通知。安卓的通知栏比iPhone要做好很多,好用很多,包括iPhone iPhone前前面的那个通知栏做的特别差,就是体验特别差,功能也特别少,现在慢慢已经改进了,改进参照谁做的?安卓做的。啊,就基本上就是超然,就是相互参照嘛,这很正常对不对。啊。下面一个这个什么。
15:01
包管里我跟大家说啊,安卓应用,大家知道安卓一个应用文件是一个什么文件吗?后缀名是什么?APK是APK啊,其实它的本质就是一个包。啊,我们平常说包包什么,我们平常说的是不是这包压缩包啊,它其实也是一个压缩包。啊,也就是压缩,我们可以给大家进行解压啊好下面这个什么。是不是电话管理器大家知道啊,就现在我们的手机功能是不是越来越多呀。大家觉最最核心,你你就再功能再多,最核心的功能是什么?电话,你说你做出来一个非常牛逼的手机啊,各种功能都很牛逼,就最后就打电话不稳定,你觉得有人要吗?那不是手机,对啊,手机最核心的功能是打电话,有人说不还有发短信吗。现在还发短信吗?说可以说,现在真是啊,短信基本上被代代替了,但是大家可能不知道,短信的利润是世界上最高的。
16:13
以前短一条短信一毛钱是吧,甚至还更高吧,大家在想,那短信的流量,它占通信量其实很少很少。对吧,我们打个电话一分钟是不是也就一毛两毛啊,那个空气量是他的很多很多倍。能理解吧,对于通信,对于那个什么移动啊,联通来说,维护一个短信通信基本上耗不了什么,他们多少钱。但是是不是通过短信他能得到很多盈利啊。对吧,啊,你说短信这个东西以前应该说是最挣钱的。也就是说,我的投入跟我的产出这个比例是最高的。但现在。你再高也没用,没用了,对不对,现在基本上用微信,再不行用QQ也行啊,对不对。
17:08
啊,再一个呢,下面一个就是什么。资源管理。这个资源管理呢,就涉及到我们一个应用是不是有图标啊,有图片吧,有还有一些文本是不是固定的文本是不是也有啊等等一系列的啊好,下面这个是什么,大家的。对,就是我们最常用的功能是是不是定位,百度百度地图啊等等一系列的功能,是不是定位的呀,啊用到位置定位的管理器,好,下面这个估计大家不知道,大家是大家有一个听说过有一个概念叫即时通讯。诶,这个是一个即时通讯的协议啊,先大概一个了解啊,你不用记,记住这个你说白了就是你一个都不知道,也不影响你开发,暂时来说对吧,但是你了解一些了,能能跟怎么说呢,能跟人交流。
18:04
这是比较文雅的说法,对吧?啊,那个比较比比较朴实的说法,这叫好。最上层跟大家说一下,我们学学四个月出去以后干什么呢?就干最上层的应用,那个系统里面,它一开始是不是就有一些核心应用呢?大家知道这里面大家看到它,它给你指了几个应用,第一个home home其实是哪个应用啊,大家知道手机开机你是不是就看到了很多应用啊,其实有一个应用叫桌面应用。就是一开机完成就启动了一个应用,我那个应用里面包含了其他所有的应用,是不是就列表出来啊,你可以去启动啊,能理解吧,就当前你开机完成以后,你看到那个就是已经是一个应用的界面了。
19:00
能理解吧,来啊,这个应用呢,Home应用这个呢,大家知道是谁吗。联系人。啊,下面这个这个电话呀,这一个浏览器,还有一些别的,其实系统里默认是不是提供了好多啊,什么呃时闹钟啊,时钟啊,日历啊,是不是都有啊,而我们也要在这一层开发去做一些应用。那一年、两年甚至三年以后,你该怎么发展呢?你可以这么发展,也可以往下发展。不知道往下发展什么意思吗?就是从上层做下一层对吧,做平台级的开发,做驱动开发是吧,是不是有可能,这是有可能的啊,因为有的同学就是好学,我就好学怎么着了,对吧,我就我就能把特别难的知识给他学懂了。
20:00
那我就是你学懂一个东西以后,你你就是不是特别手痒,你是不是想用啊,你要学的东西不用,那还特别憋屈,是不是好,还有一种方向就是什么方向呢?就在应用层方向去扩展。就是你做更多不同的类型的应用是吧,比如说别人出了问题,咔交给你,你都能知道这什么问题咔咔给他解决。是不是有可能啊这啊这两种类型啊,其实都可以,嗯,一般情况下呢,如果毕业以后你们做一两年,譬如说做两年吧,啊做两年做两年的话,你们的薪水基本上如果做的好一点,基本上应该到20K,应该没问题。两年以后,两年以后,班上肯定有不少20岁啊。可以这么说。大家是不是很期待,是不是画啥饼啊,因为因为现在已经有毕业的同学,才才毕业一年不到,一年已经拿到这个钱了。
21:08
这就是实力啊,一个还有一个啊。来。下面一个简单的给大家区别一下dum和GM,刚才说了一下是吧,所以首要区别是什么呢?来单的虚拟机,它是基于什么呢?寄存器的,大家知道寄存器是哪个了,是CPU里面的一个一个存储空间啊,那它效率是什么?相当于是不是高一啊,而我们GM呢,它基于什么呢?在这个占它是内存运行时,内存里面的一个结构,那这就相当于什么。是要慢一些啊,这能理解吧,嗯,能理解,再一个自检码的区别,单位的虚拟机它执行的自检文件不是class文件是什么呢?点DX文件,这个DX文件怎么来的呢?它就很简单,我一个应用里面是不是有很多class文件呢,干嘛压缩,还一个要编译,还再次处理。
22:11
以后就生成了一个文件了。那到时候我带入虚拟机是不是就执行这一个文件。是不是一个是占用空间也小一些吧,执行效率是不是高一些,嗯,对啊,而我们的JVM,它执行的文件是什么?Class文件。好,下面一个运行环境它有点区别,什么区别呢?我们刚才说过这里吗?一个应用启动以后。会运行一个单独的虚拟机,在自己的线进程里面,什么概念啊,大家知道一个事情,我们的应用是不是可以同时启动多个应多个应用啊,手机我启动一个应用,我就按home键,是不是再启动一个应用,那每一个应用它都运行在自己的虚拟机里面。但是这个虚拟机三倍的虚拟机对吧。
23:02
那好啦,这是说的单虚拟机,那我们Java虚拟机它是运行多个吗?就一个对吧,那这样有什么区别呢?你想啊,你想一下,假设我的这个虚拟机挂了。你学了别的应用,我还能操作吗?能不能?当然能,但是如果说我的GM假设我运行了两个应用,是不是可以运行多个应用啊,运行三个应用,我GM出问题了。你觉得他们还能操作吗?还能访问吗?全挂了。对吧,哎。这就能看出他们的一个一个区别了,对吧。其实当然这个问题呢,也是做一个了解就行啊,不需要去专门去记得特别深刻啊,去专门花很多时间去背,这个倒没没必要啊。
24:01
好,那到此为止呢,我们就把前面的部分。
我来说两句