字节跳动开源又一力作

【公众号回复 “1024”,免费领取程序员赚钱实操经验】

大家好,我是章鱼猫。

今天给大家推荐的这个项目是「BoostMultiDex」,一个用于 Android 低版本设备(4.X 及以下,SDK < 21)快速加载多 DEX 的解决方案。

Android 低版本(4.X 及以下,SDK < 21)的设备,采用的 Java 运行环境是 Dalvik 虚拟机。它相比于高版本,最大的问题就是在安装或者升级更新之后,首次冷启动的耗时漫长。这常常需要花费几十秒甚至几分钟,用户不得不面对一片黑屏,熬过这段时间才能正常使用 APP,这是非常影响用户的使用体验的。

可能你觉得 Android 4.X 及以下的手机很少了,但对于抖音及 Tiktok 这样有着亿级规模的用户的 APP,即使占比 10%,数目也有上千万。因此如果想要打通下沉市场,这部分用户的使用和升级体验是绝对无法忽视的。

BoostMultiDex 方案的技术实现要点如下:

  • 利用系统隐藏函数,直接加载原始 DEX 字节码,避免 ODEX 耗时

  • 多级加载,在 DEX 字节码、DEX 文件、ODEX 文件中选取最合适的产物启动 APP

  • 单独进程做 OPT,并实现合理的中断及恢复机制

相比于 Android 官方原始 MultiDex 方案,它能够减少 80% 以上的黑屏等待时间,挽救低版本 Android 用户的升级安装体验。并且,不同于目前业界所有优化方案,BoostMultiDex 方案是从 Android Dalvik 虚拟机底层机制入手,从根本上解决了安装 APK 后首次执行 MultiDex 耗时过长问题。

性能对比如下:

点击阅读原文查看更多。

开源项目地址:https://github.com/bytedance/BoostMultiDex

开源项目团队:抖音 / Tiktok Android 技术团队

推荐阅读:

我们每天都在用的验证码功能,竟然是这么实现的

一款功能强大的免费在线作图工具

GitHub 精选开源项目周刊第 3 期

---特别推荐---

特别推荐:一个新的优质的推荐高效工具,软件,插件的公众号,每天给大家分享优秀的效率工具,「程序员掘金」,专门为程序员挖掘好东西的一个公众号,非常值得大家关注。

猜你喜欢

转载自blog.csdn.net/loongggdroid/article/details/106798347