【 karle 专栏 】Android 初探底层知识系列

419 阅读2分钟
  • 这一系列底层知识基于Android 6.0.1版本。

  • 概述

  • 在我还是菜鸟的时候,有很多技术都不明白,也找不到答案,比如,apk是如何安装的?资源是怎么加载的?再比如,AIDL,只听未用过。四大组件也是这个问题,我只用过Activity,其他三个组件不但没有用过,甚至连他们是做什么的,都不是很清楚。

  • 之所以是这样,是因为我一直从事的是金融类App开发的工作,这类App基本是由列表和详情组成。所以每天面对的是Activity,写好这两个类页面,再把网络请求框架封装好就够了。绝大多数App开发人员都是如此。但直到接触Android热更新和插件化等技术,我才发现只掌握这些还不足以支撑我四处游荡的灵魂.....

  • 在网上看了很多文章,但大多都是给ROM开发人员看的,之贴出部分代码,繁多文章,琐碎的代码,让App开发人员看的头大。那该如何吸收这部分知识?

  • 可以简单的把Android底层知识分为两种: -type one:知道概念即可,比如Zygote,其实开发人员不需要了解Zygote的,知道有这么个东西是“云与天地”的就够了,类似的还有SurfaceFlinger、WMS这些概念。 -type two:需要知道内部原理,比如binder,需要了解他的架构模型,Client、server以及ServerManager。它们都扮演者哪些角色?他们是如何分工?

  • 这个系列将介绍以下概念,掌握这些底层知识,你就可以进军Android插件化大门了。 - binder; - AIDL ; - AMS; - 四大组件的工程原理; - PMS; - App 安装过程; - ClassLoader 以及双亲委托。