zoukankan      html  css  js  c++  java
  • Android 到底是个什么东西?

    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的所有核心类库,希望不是吹的。

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

  • 相关阅读:
    积性函数前缀和
    CF1067D Computer Game
    Atcoder Tenka1 Programmer Contest 2019 题解
    Codeforces Round #549 (Div. 1) 题解
    SHOI2019旅游记
    CF871D Paths
    CF1065E Side Transmutations
    停更公告
    博客说明
    SCOI2019酱油记
  • 原文地址:https://www.cnblogs.com/Seekr/p/2550069.html
Copyright © 2011-2022 走看看