Android中MultiDex优化

MultiDex基本思路

当一个Dex文件太肥的时候(方法数目太多、文件太大),在打包或在安装或运行apk也会出问题。 解决方法就是将这个硕大的Dex文件拆分成若干个小的Dex文件。 刚好一个ClassLoader可以有多个DexFile。

MultiDex主要性能瓶颈

解压缩和Dex优化(dexopt)

MultiDex优化方式

(1)PreMultiDex方案

大致思路是,使用内置的apk更新功能把新版本的apk文件下载下来后,先在Worker线程里做好MultiDex的解压和Optimize工作。

缺陷:使用场景有限,仅在apk更新场景有效

(2)异步MultiDex方案

启动App的时候,先显示一个简单的Splash闪屏界面,然后启动Worker线程执行MultiDex#install(Context)工作,就可以避免UI线程阻塞。

缺陷:需要手动分包, 确保应用正常启动,并且启动MultiDex#install(Context)所需要的类都在主dex里面,而且需要处理好进程同步问题。

相关推荐
冬奇Lab5 分钟前
稳定性性能系列之二——ANR机制深度解析:从触发到上报
android·性能优化·debug
江上清风山间明月15 分钟前
Android BIND_NOTIFICATION_LISTENER_SERVICE 权限详解
android·notification·service·bind·listener
Lei活在当下26 分钟前
【日常知识积累】Kotlin let 函数、inline 函数以及 DSL
android·kotlin·编程语言
世界美景39 分钟前
一种基于 ART 内存特征的 LSPosed/Xposed/分身环境 完美检测方案
android·安全·安卓·xposed
2501_946230982 小时前
Cordova&OpenHarmony外观主题设置
android·javascript
小韩博2 小时前
小迪之盲注第44课
android·网络安全·adb
夏沫琅琊3 小时前
Android TestDPC 工程详解
android
键来大师3 小时前
Android16 AP热点修改默认密码为12345678
android·framework·rk3576·android16
李坤林3 小时前
Android KGI (Generic Kernel Image)
android
十二测试录4 小时前
Android和iOS测试区别
android·经验分享·ios·职场发展·ab测试