深度剖析 | 阿里热修复如何精简优化补丁资源?
这一年,关于Sophix热修复我们陆续做了很多优化和改进,包括:
兼容最新Android版本至Android P dp3
JIT混合编译的兼容
第三方加固的全面兼容
新增稳健接入方式
三星低版本特殊机型的兼容
补丁工具加速与初始化检查
资源补丁深度优化
其他稳定性和性能的改进
Sophix热修复中的资源修复我们在《深入探索Android热修复技术原理》(在阿里技术公众号,回复“热修复”,即可免费下载)书中已经有过介绍,主要思想就是将新增和修改的资源打包到补丁资源包中,以0x66的包名来重新编排这些资源。对比其他热修复需要替换完整资源包,Sophix的增量的资源补丁方案能做到资源补丁最小化,并且运行时无需合成完整资源,实现了性能与空间的最优化。
在此基础上,我们继续改进了资源补丁,对resources.arsc中的字符串池进行裁剪,在不损耗运行时性能的

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Android新版Glide的RequestManager加载管理器
Android新版Glide的RequestManager加载管理器 使用Glide加载图片,load完后,通过into就可以把图片放到ImageView里面。但是有时候可能只是想加载一张原始的图片资源File,至于如何放到,什么时候放,开发者想自己控制,那么可以使用Glide提供的RequestManager中onResourceReady,RequestManager的onResourceReady提供一个回调接口,在这里可以拿到通过Glide加载到的图片资源原始文件,通过给RequestManager注册一个RequestListener加载监听器,就可以拿到Glide加载的图片,然后进一步做什么样的处理,开发者可以自行决定。此时,Glide就演变成一个类似OkHttp一样的网络加载框架,只用来加载资源而已,例如: package zhangphil.test; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.Bundle; import androi...
- 下一篇
The type org.apache.http.NameValuePair cannot be resolved. It is indir...
eclipse莫名其妙的bug 解决方案如下,把编译的android版本调低就可以了 调低编译版本
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS关闭SELinux安全模块
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS8编译安装MySQL8.0.19
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Red5直播服务器,属于Java语言的直播服务器
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS7,8上快速安装Gitea,搭建Git服务器