RM新时代网站-首页

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>BoostMultiDex低版本安卓快速加載MultiDex

BoostMultiDex低版本安卓快速加載MultiDex

2022-06-14 | zip | 0.28 MB | 次下載 | 免費

資料介紹

授權(quán)協(xié)議 Apache 2.0
開發(fā)語言 Java C/C++
軟件類型 開源軟件
所屬分類 手機/移動開發(fā)、 手機開發(fā)工具

軟件簡介

BoostMultiDex?是一個用于 Android 低版本設(shè)備(4.X及以下,SDK < 21)快速加載多 DEX 的解決方案,由字節(jié)跳動的抖音/Tiktok? Android 技術(shù)團隊出品。

相比于 Android 官方原始 MultiDex 方案,它能夠減少 80% 以上的黑屏等待時間,挽救低版本 Android 用戶的升級安裝體驗。并且,不同于目前業(yè)界所有優(yōu)化方案,BoostMultiDex 方案是從 Android Dalvik 虛擬機底層機制入手,從根本上解決了安裝 APK 后首次執(zhí)行 MultiDex 耗時過長問題。

背景

Android低版本(4.X及以下,SDK < 21)的設(shè)備,采用的 Java 運行環(huán)境是 Dalvik 虛擬機。它相比于高版本,最大的問題就是在安裝或者升級更新之后,首次冷啟動的耗時漫長。這常常需要花費幾十秒甚至幾分鐘,用戶不得不面對一片黑屏,熬過這段時間才能正常使用 APP。

這是非常影響用戶的使用體驗的。尤其在海外,像東南亞以及拉美等地區(qū),還存有著很大量的低端機。4.X 以下低版本用戶雖然比較少,但對于抖音及 Tiktok 這樣有著億級規(guī)模的用戶的APP,即使占比10%,數(shù)目也有上千萬。因此如果想要打通下沉市場,這部分用戶的使用和升級體驗是絕對無法忽視的。

這個問題的根本原因就在于,安裝或者升級后首次 MultiDex 花費的時間過于漫長。為了解決這個問題,字節(jié)跳動挖掘了 Dalvik 虛擬機的底層系統(tǒng)機制,對 DEX 相關(guān)處理邏輯進行了重新設(shè)計,最終推出了BoostMultiDex方案,挽救低版本Android用戶的升級安裝體驗。

技術(shù)要點

BoostMultiDex方案的技術(shù)實現(xiàn)要點如下:

  1. 利用系統(tǒng)隱藏函數(shù),直接加載原始DEX字節(jié)碼,避免ODEX耗時
  2. 多級加載,在DEX字節(jié)碼、DEX文件、ODEX文件中選取最合適的產(chǎn)物啟動APP
  3. 單獨進程做OPT,并實現(xiàn)合理的中斷及恢復(fù)機制

更重要的是,BoostMultiDex 已經(jīng)在抖音/TikTok 億級全球用戶上驗證通過,可以說涵蓋了各個國家、各種復(fù)雜情況的Android機型,目前業(yè)界其他大型 AP P都很難涉及到如此廣泛的規(guī)模。由此,字節(jié)跳動也解決了各種奇怪的兼容性問題,最大程度上確保了技術(shù)方案的穩(wěn)定性。

快速接入

build.gradle的dependencies中添加依賴:

dependencies {
... ...
    // For specific version number, please refer to app demo
    implementation 'com.bytedance.boost_multidex:boost_multidex:${ARTIFACT_VERSION}'
}

與官方MultiDex類似,在Application.attachBaseContext的最前面進行初始化即可:

public class YourApplication extends Application {

    @Override
    protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
        
        BoostMultiDex.install(base);
        
... ...
    }

編譯構(gòu)建

如果想自行編譯打包,需要使用R16B版本的NDK以支持armeabi架構(gòu),如果不需要,可以直接在boost_multidex/build.gradle 中去掉此依賴。

執(zhí)行以下命令即可構(gòu)建本地aar包:

./gradlew :boost_multidex:assembleRelease

產(chǎn)物為boost_multidex/build/outputs/aar/boost_multidex-release.aar

性能對比

Android版本 廠商 機型 原始MultiDex耗時(s) BoostMultiDex耗時(s)
4.4.2 LG LGMS323 33.545 5.014
4.4.4 MOTO G 45.691 6.719
4.3 Samsung GT-N7100 24.186 3.660
4.3.0 Samsung SGH-T999 30.331 3.791
4.2.2 HUAWEI Hol-T00 *** 3.724
4.2.1 HUAWEI G610-U00 36.465 4.981
4.1.2 Samsung I9100 30.962 5.345

以上是在抖音上測得的實際數(shù)據(jù),APK ***有 6 個 Secondary DEX,顯而易見,BoostMultiDex 方案相比官方MultiDex 方案,其耗時有著本質(zhì)上的優(yōu)化,基本都只到原先的11%~17%之間。?也就是說BoostMultiDex減少了原先過程80%以上的耗時。?另外其中有一個機型,在官方 MultiDex 是直接***無法啟動的。使用 BoostMultiDex 也將使得這些機型可以煥發(fā)新生。

?

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應(yīng)用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關(guān)電源設(shè)計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅(qū)動電路設(shè)計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學(xué)會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
RM新时代网站-首页