Android动态加载入坑指南
Android 指南 动态 载入
2023-09-27 14:22:49 时间
曾几何时,国内各大公司掀起了一股研究Android动态加载的技术,两年多过去了,动态加载技术俨然成了Android开发中必须掌握的技术。那么动态加载技术是什么呢,这里谈谈我的个人看法,如有雷同,纯属偶然。
什么是动态加载技术
对于动态加载的概念,没有一个权威的定义,参考网上的解释,我们举一个例子,动态加载代码就是通过在运行时加载外部代码(磁盘,网络等)改变程序行为的技术(感觉有点像装饰者模式)。主要目的是为了达到让用户不用重新安装APK就能升级应用的功能。
为了加深大家对这种概念的理解,我们结合pc端来说说手机端的动态加载。
传统的pc端动态加载
熟悉Java的同学应该比较清楚,Java的可执行文件是Jar,运行在虚拟机上JVM上,虚拟机通过ClassLoader加载Jar文件并执行里面的代码。所以Java程序也可以通过动态调用Jar文件达到动态加载的目的。
动态加载技术在PC软件领域广泛使用,比如qq上线的时候忘了某个功能的修复,这个时候就可以用动态加载来修复我们的bug。
Android应用的动态加载技术
Android应用类似于Java程序,只不过虚拟机换成了Dalvik/ART,而Jar换成了Dex。我们知道,在Android的apk文件中往往有一个或者多个Dex文件,系统的类加载器(PathDexClassLoader)加载的就是dex文件,虽然一个apk一旦构建出来,我们是无法更换里面的Dex文件的,但是我们可以在类
相关文章
- 《大话移动APP测试:Android与iOS应用测试指南》
- android开发使用SQLite之写日记
- Android学习之6.0系统执行时权限设置
- android事件详解
- 最新Android Kotlin开发指南,从入门到实战,一战通关
- 系统Android开发工程师进阶指南,三个月学完,稳拿大厂offer
- 全网最全Android compose开发应用指南
- Android音视频进阶成长指南(音视频解码、大厂项目实战...)
- 《Android 应用测试指南》——第1章,第1.3节为什么要测试、测什么、如何测、何时测试
- 《Android 应用测试指南》——第2章,第2.3节创建一个Android测试项目
- 《Android 应用测试指南》——第2章,第2.5节创建一个测试用例
- 《Android游戏开发详解》一2.3 编写第一个程序
- 《深入解析Android 虚拟机》——1.3 编译Android源码
- android之View坐标系(view获取自身坐标的方法和点击事件中坐标的获取)
- Android开发经验之获取画在画布上的字符串长度、宽度(所占像素宽度)
- android图像处理系列之三--图片色调饱和度、色相、亮度处理
- volley框架 出现at com.android.volley.Request.<init>
- android 可拖动的浮动 view
- Android 性能优化—— 启动优化提升60%
- Android多个Activity之间的页面跳转带参传递与返回
- 《OpenGL ES应用开发实践指南:Android卷》—— 3.5 在屏幕上绘制
- 两家企业中的38部Android手机被预装了恶意程序
- Android中的各种访问权限Permission含义
- 淘宝开源Android容器化框架Atlas开发者指南