google了张图,android原来是个大杂包啊!

打眼一看,分了5大块啊! 从应用程序到底层操作系统内核,真够杂的!!!

仔细一看,第一层直接撇了! 拿个安卓手机开机后就能找到。

如此一来:

这下看着省心一点了!

再看最下面Linux Kernel, 这么高深的东西,看不了啊! 再说了操作系统应该都差不多,一堆的驱动包! 干掉!

这回基本上都是干货了! 应该是需要研究的了!

再继续看,上图中左下角那一堆,外观管理器,多媒体框架,SQLite(竟然集成了数据库?),OpenGL ES(老听搞游戏的人说但是不了解!),FreeType位图,矢量字体渲染,WebKit(据说很牛的浏览器内核),SGL(碰到GL 就范晕),SSL(我猜是安全协议之类的)至于最不起眼的那个libc,据说C/C++大牛可是对他们情有独钟,能用他们搞搞Linux内核,动动驱动啥的,可对我来说天方夜谭啊!!!

据说这些都是用C/C++整的类库API,向来玩不了这两种语言,敬而远之吧!

所以,我再砍!!!

虽然图撕的难看一点,不过总算把没用的给去掉了,可以静心研究这张残图了,希望能从这张图找到通往宝藏的神秘之路!!!!

只有两大块了,应用程序框架+应用程序运行环境!

现在从头想想,原来Android就是一个杂包啊,里面有操作系统,操作系统上附带了一些移动终端常用的应用软件,如果你是高手,估计你可以不用这些软件,自己写了替换他们。

当然和java一样,他们优化了一个虚拟机,Java的JVM瘦身了,因为移动终端没有计算机个大啊,主要是优化了内存使用到最小,就变成了Dalvik 虚拟机,不知道为什么叫这个名字? 这个小虚拟机可以实例化? 可以同时运行多个?

Java 虚拟机JVM,只是听说过,没用过,也不知道啥样? JVM有可执行文件吗?

Dalvik说它有,而且有个标志性的后缀.pex, 说他能运行java写的类,但是需要通过java的编译器编译,用dx转换。 不明白!

不管怎样,它还是不能脱离Linux内核的支持,比如底层的内存管理,线程管理之类的。

它是做什么的呢?

它的上面还有个core Libraries, 跟应用程序框架里面的组件一个颜色,说明都是Java语言开发的,当然,人家说了那个Dalvik是个可执行的文件,是什么语言,不关我的事了。

每个应用程序都有一个自己的进程和相应的Dalvik VM实例为之服务!!!!--- 这话对吗?

Dalvik可以随便实例化? 得进一步研究!

目前先理解为一个Android的应用程序会有一个单独的进程和一个专门为他创建的Dalvik VM实例为之服务。

Core libraries 核心类库,在android 运行时环境中,介绍说它就是刚才撕掉的Libraries 在android 运行环境中被java封装的接口类库。

再看应用程序框架里面,我靠7个当官的啊!!!还有一个服务商,View成了独立系统了!!!

这7个Manager们,不用说都是搞管理的!提供商Provider,这是搞服务的! View独立了吗? 自成体系了!

据说这是Android为了让我们developer开发application时有个标准,特意封装的组件单位。

我们developer编写application难道都靠这些官员和提供商吗,对了还有个自称系统的家伙!!!

看看曾经坐在他们上面的Contacts ,Phone,Browser ... 都是application, 估计应该是这样了!

他们都是蓝色的,应该都是java写的, 据说android已经基本覆盖了java的所有核心类库,希望不是吹的。

啊呀,不看了,太晚了,睡觉!

更多相关文章

  1. Android_ UEventObserver_监听USB插拔
  2. Android中的Intent详解
  3. Android官方开发文档Training系列课程中文版:分享简单数据之发送
  4. Android中的安全与访问权限控制
  5. Android(五):Android(安卓)数字签名
  6. Android(安卓)中的ANR 问题,响应灵敏性
  7. 应用程序(xx)与系统不兼容,是否继续安装?
  8. 从多方面理解 Android(安卓)体系结构
  9. Android:各项设置跳转

随机推荐

  1. Android中铃声总结【安卓源码解析一】
  2. Android手动清除APP中Data目录下的文件
  3. Android(安卓)8.0源码编译问题记录
  4. Android(安卓)彩色上下文菜单 Context
  5. Android(安卓)webview ajax session 问题
  6. getSystemService 的参数
  7. Android线程池的详细说明(一)
  8. 关于android与h5互调简介
  9. Android(安卓)MediaRecorder 录制视频 st
  10. Android中的位运算的例子(一)