Android插件化开发指南
(副标题):无 ;
(作者): 包建强 ;
内容简介:
2.1 概述
在我还是Android菜鸟的时候,有很多技术我都不太明白,也都找不到答案,比如,apk是怎么安装的?资源是怎么加载的?再比如,每本书都会讲AIDL,但我却从来没用过。四大组件也是这个问题,我只用过Activity,其他三个组件不但没用过,甚至连它们是做什么的,都不是很清楚。
之所以这样,是因为我一直从事的是电商类App开发的工作,这类App基本是由列表页和详情页组成的,所以我每天面对的是Activity,会写这两类页面,把网络底层封装得足够强大就够了。绝大多数App开发人员都是如此。但直到接触Android的插件化编程和热修复技术,我才发现只掌握上述这些技术是远远不够的。
市场上有很多介绍Android底层的书籍,网上也有很多文章,但大都是给ROM开发人员看的——动辄贴出几页代码,这类书不适合App开发人员去阅读学习。
于是,这几年来,我一直在寻找这样一类知识,App开发人员看了能有助于他们更好地编写App程序,而又不需要知道太多这门技术底层的代码实现。
这类知识分为两种:
·知道概念即可,比如Zygote,其实App开发人员是不需要了解Zygote的,知道有这么个东西是“孕育天地”的就够了,类似的还有SurfaceFlinger、WMS这些概念。
·需要知道内部原理,比如Binder,关于Binder的介绍铺天盖地,但对于App开发者,需要了解的是它的架构模型,只要有Client、Server以及ServiceManager就足够了。
四大组件的底层通信机制都是基于Binder的,我们需要知道每个组件中,分别是哪些类扮演了Binder Client,哪些类扮演了Binder Server。知道这些概念有助于App开发人员进行插件化编程。
接下来的章节将介绍以下概念,掌握了这些底层知识,就算是迈进Android插件化的大门了:
·Binde
目录预览:
Android插件化开发指南
第1章 插件化技术的昨天、今天与明天
1.1 插件化技术是什么
1.2 为什么需要插件化
1.3 插件化技术的历史
1.4 插件化技术的用途到底是什么
1.5 更好的替代品:React Native
1.6 只有中国这么玩吗
1.7 四大组件都需要插件化技术吗
1.8 双开和虚拟机
1.9 从原生页面到HTML 5的过渡
1.10 本章小结
第2章 Android底层知识
2.1 概述
2.2 Binder原理
2.3 AIDL原理
2.4 AMS
2.5 Activity工作原理
2.6 App内部的页面跳转
2.7 Context家族史
........