插件化8岁了……
近 些年,一线互联网大厂几乎对移动互联网形成了垄断,国内各大互联网App无一不有自己的插件化框架。 随着插件化 技术的普及,只要你去大型互联网公司面试 ,都会跟你聊聊插件化。
插件化技术是什么?
打开你的美团,你平时一般只点外卖对吧?但是 “美食”、“电影”、“外卖”、“打车” 等,每个入口其实都是一个app,只不过被集成到这里了,这个就是插件化。
插件化技术,主要应用在新闻、电商、阅读、出行、视频、音乐等领域。
插件化技术发展史
今天我们就来梳理一下插件化技术的发展脉络。 (如有错误请指正哈)
插件化技术早在2012年就出现了,最初只支持Activity的动态加载发展,现在已经可以完全模拟app运行了。
2012年7月27日,大众点评屠毅敏,发布 AndroidDynamicLoader ; 第一个Android插件化开源项目;
2013 年, 23Code 出现,可以自定义控件动态下载; Android插件化技术正式诞生;
2013 年 3 月,阿里,淘宝的 Atlas 插件化框架;
2014 年 3 月 30 日,任玉刚开源 Android 插件化项目 dynamic-load-apk ;
2014年5月,张涛,插件化框架CJFrameForAndroid;
2014 年 11 月, houkx 在 GitHub 上发布了插件化项目 android-pluginmgr ;
2014 年 12 月, AndroidStudio1.0 版本出现;
2015 年, Lody 发布插件化项目 Direct- Load-apk ;
2015 年 5 月, limpoxe 发布插件化框架 Android- Plugin-Framework 。
2015 年 7 月, kaedea 发布插件化框架 android- dynamical-loading 。
2015 年 8 月 27 日,张勇, DroidPlugin 问世; 这个框架的能把任意的 App 都加载到宿主里面去。你可以基于这个框架写一个宿主 App ,然后就可以把别人写的 App 都当作插件来加载。
2015 年 5 月, OpenAtlas 发布,后改名为 ACDD ;
2015 年 10 月,携程开源插件化框架 DynamicAPK ;
2015 年 12 月底,林光亮的 Small 框架发布;
2015年,Android插件化技术可以说是蓬勃发展,百家争鸣,很多插件化框架应运而生。同年,Android热修复技术开始热门起来……
2016 年起,国内各大互联网公司陆续开源了自己研发的插件化框架:
2016 年 8 月,掌阅推出 Zeus ;
2017 年 3 月,阿里推出 Atlas ;
2017 年 6 月 26 日, 360 手机卫士的 RePlugin ;
2017 年 6 月 29 日,滴滴推出 VisualApk 。
……
插件化demo展示(作者:小窦子)
我们为什么要掌握插件化?
插件化可以说引领了Android技术的进步,是和原生系统对着干的 “黑科技” ,因为涉及到的知识面非常的广,需要对源码有深入的理解,所以也是面试官用来查看应聘者技术功底的工具。
插件化技术在国内已经是相对比较完善,而且也有比较广泛的应用了,各种插件化的开源框架也是层出不穷,但是完整的插件化技术学习资料在网上还是很难找到的。
而据官方数据,85%安卓开发者不了解类加载流程,没有掌握动态代理底层原理的更是高达96%!这些不懂的话,何谈掌握插件化技术?
要想完全明白插件化,需要我们了解Android系统的底层实现,主要解决以下3个问题:
1、插件中代码的加载和与主工程的互相调用;
2、插件中资源的加载和与主工程的互相访问;
3、四大组件生命周期的管理;
虽然现在很多公司开源了插件化框架,但还有非常多的开发者对插件化一知半解。所以我们特邀了Android资深专家Leo老师,为大家带来这堂《插件化技术》系列直播课,帮助大家快速对插件化有个更深入的理解。在线实时答疑,有疑问,当场解决。
《深入理解360插件化技术内核》
Leo老师:
多年Android开发项目经验,腾讯战略投资创业公司技术总监
专精领域: Android架构,性能优化,flutter混合开发等技术。
课程大纲
5.7
什么是插件化,如何加载插件的类?
1.什么是插件化
2.什么是双亲委托机制
3.如何实现插件类的加载
4.撸码实现调用插件中的类
5.8
如何启动另一个插件的Activity?
1.Hook是什么?
2.Activity的启动流程源码分析
3.启动未注册Activity的思路分析
4.撸码实现插件的Activity的启动
5.9
如何加载插件的资源?
1.Resources和AssetManager的关系
2.资源加载流程的源码分析
3.撸码实现插件的资源加载
4.常见面试题的讲解
▲ 附赠 Android架构进阶 、视频资料
“插件化,你掌握的怎么样?”
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 用技术解决“非技术”问题
- 数据安全治理重要相关技术——脱敏技术
- 零信任技术进阶篇:关键技术及挑战
- 零信任技术进阶篇:关键技术及挑战
- 2021 技术展望 | 走向未来的实时生成技术
- 前端技术演进(一):Web前端技术基础
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。