《探索Android热修复技术原理》总结

xiaoxiao2021-02-28  110

上星期想了解热修。恰好遇到了阿里放出的热修复原理顺便拜读了下。

整书从热修修复的几方面给出了原理解析

1,代码

2,资源

3,so

代码修复中既从不同热修技术的横向对比腾讯类加载、阿里底层替换。又从阿里系实现方案中从源代码->字节码->机器码的竖向解析。

对于应用开发者来说有利于理解热修复的实现原理避免在使用热修中避免晦涩难解的坑。

对于底层开发者来说提供了解决底层具体问题的思考思路。

对于我所收获的是除了开阔眼界(因为很少去了解底层代码的实现只习惯于拿来就用的玩法),还认识到java编译的一些细节。其实反编译也是蛮好玩的。

final static 域优化笔记

如果一个field是常量那么推荐尽量使用static final作为修饰符

正确解析

得到优化的仅仅是final static 原始类型和string类型(非引用类型),引用类型实际上不会得到任何优化。

应用混淆方法编译中方法内联笔记

1,方法没有被其他任何地方引用到毫无疑问该方法会被内联掉

2,方法足够简单比如一个方法的实现就只有一行该方法会被内联掉那么任何调用该方法的地方都会被该方法的实现替换掉

3,方法只被一个地方引用到这个地方会被方法的实现替换掉。

Lambda表达式编译规则

待读文章:http://mp.weixin.qq.com/s/ht3KIeG9-H9HtgF_nlm5cw

对于23,收获最大的还是文中提到的不同厂家热修的横向比较有利于开发者去选择使用哪种热修技术。

具体可以通过文中P148图片进行浏览。

接下来是对于美团(Robust) 阿里(Sophix) 微信(Tinker) 三家热修复接入的实践对比

将后续更新于个人博客地址。

题外话阿里为国内软件开发技术进步。做的努力与输出还是蛮值得人尊重的。

因此转发下。

另附20170621 《阿里巴巴java开发手册v1.2.0:http://mp.weixin.qq.com/s/-kmt6lfoDBWhyTJ_U3AM8A

书籍下载地址:

http://mp.weixin.qq.com/s/Yp-Z5E9FKC2gCRM-_998gw

转载请注明原文地址: https://www.6miu.com/read-43146.html

最新回复(0)