插件化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前端技术基础
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Pro Django
Marty Alchin / Apress / 2008-11-24 / USD 49.99
Django is the leading Python web application development framework. Learn how to leverage the Django web framework to its full potential in this advanced tutorial and reference. Endorsed by Django, Pr......一起来看看 《Pro Django》 这本书的介绍吧!