android插件化框架DL学习笔记及漫谈一点插件化技术

DL框架全称是dynamic-load-apk,github的项目地址为:https://github.com/singwhatiwanna/dynamic-load-apk,项目发起者是百度的高级安卓工程师任玉刚,Android圈子混的人对任玉刚的名字很大可能听过,他写的书《Android开发艺术探索》相信很多同行也读过,而本人第一次接触到DL框架,也是因为这本书的机缘。


首先,先看看DL的简单的用法。学习一种技术之前,能首先一睹这种技术的风采,对于后面的学习会更有帮助。然后我们再往深处想往深处钻会更有方向,不然最后的结局很容易就是不见树木,不见森林了;附上一篇完整的简单的使用的教程,大家可以做到知晓。Android 插件化(一)] DynamicLoadApk的用法(http://blog.csdn.net/fuchaosz/article/details/51056947);


接着,在知道DL怎么用和明白大概是怎么回事之后,再附上作者本人对于DL框架的解构图,方便大家对此框架能有一个宏观的架构和全面的认识(转载地址(http://blog.csdn.net/singwhatiwanna/article/details/40283117));

 

然后,Read the fucking source code;先附上一张源码的类图;至于具体的对于各个类的解读,在此偷个懒,也是给大家介绍一篇更好的解读文章:DynamicLoadApk 源码解析(http://a.codekk.com/detail/Android/FFish/DynamicLoadApk%20%E6%BA%90%E7%A0%81%E8%A7%A3%E6%9E%90),阅读源码的时候,可以跟着这篇文章的节奏,必有事半功倍之效;

 


阅读源码是一件事苦涩的事情,或者说对于大部分人来说是的,但是阅读完并充分理解之后,必然也有一种技术或者思想洗礼的喜悦感;经过这个过程,我们不仅学会了这个项目所采用的思想,所讲解的相关技术或者说对于相关问题的解决思路,更重要的是,我们可以以此为一个灵感的引子,继续做更深的思考,或者基于项目做更多的扩展,因为借鉴其思路,对于我们新的思考和尝试必然也会得到源源不断的灵感吧;比如张涛(江湖名号:kymjs,创办的开源实验室项目地址:https://www.kymjs.com/),他在阅读了DL的源码之后,在DL的基础上加入了 Service 的动态加载和Activity的 launchmode 以及插件页面间的数据传递,然后创办了自己的插件化框架CJFrameForAndroid(github地址:https://github.com/kymjs/CJFrameForAndroid);另外,在掌握了一项技术之后,我们也应该对此项技术有一个更全面和更宏观的认识,这时候我们可以了解哈该技术的前世今生未来,国内国外的使用情况等,因此推荐大家阅读下面的两篇文章:

Android插件化:从入门到放弃:http://www.infoq.com/cn/articles/android-plug-ins-from-entry-to-give-up

Android 插件化的 过去 现在 未来:https://www.kymjs.com/code/2016/05/04/01/

android插件化介绍:https://taiwandao.github.io/2016/08/19/android%E6%8F%92%E4%BB%B6%E5%8C%96%E4%BB%8B%E7%BB%8D/

为什么要用插件化:https://toutiao.io/posts/308186/app_preview

 

最后,希望大家在阅读了DL源码并对DL的实现有了理解,并且对插件化有了一个自己的认识和思考之后,也能够对他人侃侃而谈!

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值