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里面,而且需要处理好进程同步问题。

相关推荐
修炼者23 分钟前
Toast的显示流程
android
simplepeng3 小时前
Room 3.0 KMP Alpha-01
android·kotlin·android jetpack
Lei活在当下3 小时前
Windows 下 Codex 高效工作流最佳实践
android·openai·ai编程
fatiaozhang95273 小时前
基于slimBOXtv 9.19.0 v4(通刷晶晨S905L3A/L3AB芯片)ATV-安卓9-完美版线刷固件包
android·电视盒子·刷机固件·机顶盒刷机·晶晨s905l3ab·晶晨s905l3a
私房菜5 小时前
Selinux 及在Android 的使用详解
android·selinux·sepolicy
一只特立独行的Yang5 小时前
Android中的系统级共享库
android
两个人的幸福online6 小时前
php开发者 需要 协程吗
android·开发语言·php
修炼者7 小时前
WindowManager(WMS)构建全局悬浮窗
android
xiaoshiquan12067 小时前
Android Studio里,SDK Manager显示不全问题
android·ide·android studio
Lstone73648 小时前
Bitmap深入分析(一)
android