博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android热插件,热更新,热修复,模块化
阅读量:4291 次
发布时间:2019-05-27

本文共 910 字,大约阅读时间需要 3 分钟。

    应用层开发,有一段时间是谈native色变,把原生app开发者干了,用那个js来写应用,经过市场沉淀,人们也理智了。见过最过分的,两万元每月招RN工程师,做创业项目。真叫一个狠!

    去年火起来的hot技术现在商业应用企业应用中也逐步实施,当然每个技术在火起来的时候,基本都有很长一段时间点的成熟期。

于是乎,在这个开始阶段,就有点谈hot色变了。

    小时候,烧塑料,把塑料点着了,可以变化成任意的形状,而且可以粘到所有的东西上面,像电焊,把焊条融化成铁水,粘连互相独立的两块铁。

    运行在android虚拟机的devik(art)程序也是这样的,Java程序,有很多逻辑代码,在预编译编译阶段互联粘连在一起,各种业务逻辑的链接和lib的链接,各种变量和运算符的的编译优化;而还有一些这样的代码,是在运行时期形成连接的,这样的就可以认为是热操作了。很明显,在各种hot框架没有出来的时候,反射注解、反射调用和反射注入等这样的hot操作已经被广泛使用的生产中了。

    我个人是非常讨厌玩概念的,最近面试,被这种东西恶心地不行,好像学习好各种理论就能把飞机造出来一样,俗话说,空谈误国,实干兴邦。。即使在面试过程中,总是难免会有面试官和面试者的主观情节,但是,我们还是要谨记,实干兴邦的。

    不光在建设祖国的时候,技术理论中的一些词汇,也喜欢扯淡,实质上就那个熊样,非要穿着看似精致的外衣。

    从某种概念上说,提到的几个热更新热修复什么的,就干一件事情,替换。当替换的东西属于大块内容的时候,就是模块化了,当你去替换方法的时候,叫热更新,当你替换类的时候,加热插件,而且重某种意义上讲,所有的hot方案,都是一种热插件,因为hot方案为的就是在app之外去干这个事。就这么简单的理解。无论是替换一个类,还是一个方法,都是在干替换这件事请。。这里的替换,也算是几种hook操作,无论在什么代码等级上,这种侵入性操作,就是不可否认的hook。

    既然要做替换,承前启后是关键。借助对 MultiDex,InstantRun中得到的思考,和理解,大部分的hot框架,最后新的APK往往就是在这里找的灵感和实现,.当然,这里还有native的技术。

你可能感兴趣的文章
API网关在微服务架构中的应用,这一篇就够了
查看>>
JVM发生内存溢出的8种原因、及解决办法
查看>>
SpringBoot2.0 基础案例(12):基于转账案例,演示事务管理操作
查看>>
高性能负载均衡:nginx搭建tomcat集群
查看>>
Spring切面中的正则表达式
查看>>
一直再说高并发,多少QPS才算高并发?
查看>>
Git恢复之前版本的两种方法reset、revert(图文详解)
查看>>
Maven打包的三种方式
查看>>
电商场景:并发扣库存,怎么保证不超卖又不影响并发性能
查看>>
分布式事务处理方式总结
查看>>
延迟队列有哪些实现方案?说说你的看法
查看>>
厉害了!我们老大半小时把我的springboot项目并发提升几倍
查看>>
Spring 中Bean 的生命周期
查看>>
为什么要用枚举实现单例模式(避免反射、序列化问题)
查看>>
微服务架构下的分布式限流方案思考
查看>>
全网最详细的一篇SpringCloud总结
查看>>
消息中间件中的有序消息,其实是排队但是不能插队
查看>>
mysql为什么使用B+树作为索引的结构
查看>>
mysql索引总结(1)-mysql 索引类型以及创建(文章写的不错!!!)
查看>>
聊聊CAS - 面试官最喜欢问的并发编程专题
查看>>