91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

3天內(nèi)不再提示

Xcode棄用Bitcode,導(dǎo)致應(yīng)用體積大幅增加

OSC開源社區(qū) ? 來源:OSC開源社區(qū) ? 作者:OSC開源社區(qū) ? 2022-11-15 11:40 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Emerge 是一個監(jiān)測和減少應(yīng)用程序大小的平臺,可以持續(xù)監(jiān)測并分析應(yīng)用程序二進(jìn)制大小,幫助開發(fā)者編寫更小、更好的代碼。近日 Emerge 發(fā)布了一份報告,顯示最新版本的 Xcode 存在會無意中增加應(yīng)用程序體積的問題。

Xcode 14 于今年 9 月份正式發(fā)布,新版本添加了對 Swift 5.7 的支持,并針對 macOS Ventura、iOS/iPadOS 16 等最新系統(tǒng)添加了 SDK,除此之外,新版本 Xcode 的速度更快、體積縮小了 30%、增加的并行性使得構(gòu)建項(xiàng)目的速度提高了 25%,以及長時間運(yùn)行測試的速度提高了 30%。

但在 Xcode 14 發(fā)布后不久,Emerge 發(fā)現(xiàn)一些 iOS 應(yīng)用程序的體積則是出現(xiàn)了明顯增加,其中從 9 月中旬到 10 月初之間,觀測到:

耐克 iOS 應(yīng)用程序的安裝大小一開始僅為 182.2MB,之后變成了 322.1MB,空間占用增加了 76%

American Airlines(美國航空)從 182.2MB 增加到 389.1MB,增加了 113%

Chime 從 162.8MB 增加到 212.8MB,增加了 31%

b689d40c-6495-11ed-8abf-dac502259ad0.png

在上述這些例子中,應(yīng)用空間占用突然增大都是由于這些應(yīng)用程序首次使用了 Xcode 14 構(gòu)建,而歸根結(jié)底,導(dǎo)致這個問題發(fā)生的原因就是 Xcode 14 默認(rèn)禁用了 Bitcode。

Xcode 14 更新文檔中寫道:

Xcode 不再默認(rèn)構(gòu)建 Bitcode,在未來的 Xcode 版本中,使用 Bitcode 構(gòu)建的功能將被移除。含有 Bitcode 的 IPA 將在提交給 App Store 之前被剝離 Bitcode。

什么是 Bitcode

Bitcode 是打包應(yīng)用程序的一種方式,它可以在開發(fā)者把應(yīng)用提交到 App Store 后,將部分構(gòu)建過程留給蘋果公司完成,蘋果所做的事情之一是剝離二進(jìn)制符號。

什么是二進(jìn)制符號剝離

二進(jìn)制符號剝離(Binary symbol stripping)是指從二進(jìn)制文件中刪除某些類型的元數(shù)據(jù),這些元數(shù)據(jù)對于在生產(chǎn)中運(yùn)行應(yīng)用程序是非必要的。這些元數(shù)據(jù)在生產(chǎn)前可能是有幫助的,但之后只會讓用戶的手機(jī)變得更加臃腫。

簡單的解釋是,Bitcode 通過剝離二進(jìn)制符號優(yōu)化了生產(chǎn)構(gòu)建。如果不打開 Bitcode,開發(fā)者就需要修改 Xcode 的構(gòu)建設(shè)置,從而以其他方式剝離二進(jìn)制符號。

也就是說,當(dāng)開發(fā)者更新至 Xcode 14 之后,任何依賴 Bitcode 的應(yīng)用程序都不再會從其生產(chǎn)的應(yīng)用程序中剝離二進(jìn)制符號了,這意味著一個應(yīng)用程序可以在不增加任何功能的情況下出現(xiàn)體積大幅增加的情況。

b693ebae-6495-11ed-8abf-dac502259ad0.png

Emerge 深度分析了耐克的 iOS 端應(yīng)用程序,在 22.35.0 版本中,框架在 191.7MB 的安裝大小中占了 163.7MB。而到了 22.36.1 版本,框架在 322.1MB 的總?cè)萘恐屑ぴ龅?293.8MB。注意在每個框架中發(fā)現(xiàn)的深藍(lán)色的 "String Table" 的增加。

b6a8577e-6495-11ed-8abf-dac502259ad0.png

通過比較這兩個版本,可以發(fā)現(xiàn)幾乎所增加的 130MB 的體積都來自于 DYLD.String Tables。這些字符串表本身是非必要的元數(shù)據(jù),而它們現(xiàn)在已經(jīng)進(jìn)入了生產(chǎn)構(gòu)建中。

b6b475ea-6495-11ed-8abf-dac502259ad0.png

兩個版本應(yīng)用程序的二進(jìn)制符號也從 213.9KB (占應(yīng)用程序總大小的 0.11%)增長到了 127.5 MB(占應(yīng)用程序總大小的 40%)。也就是說耐克 iOS 應(yīng)用程序在沒有任何重大功能變化的同時,增加了 130MB。(上圖:Xcode 14 之前的二進(jìn)制符號大??;下圖:Xcode 14 之后中的二進(jìn)制符號大?。?/p>

b6bfb6da-6495-11ed-8abf-dac502259ad0.png

除了上述提到的這些應(yīng)用,此次體積大幅增加的還包括了 Chrome、Amazon、Twitter、Twitch、ESPN 等常用的軟件。

應(yīng)用程序的大小是影響你的應(yīng)用程序的安裝和卸載指標(biāo)的最大因素之一,過于臃腫會降低應(yīng)用安裝率和提升卸載率,尤其是對于手機(jī)空間比較有限的用戶來說更加如此,最終會導(dǎo)致用戶數(shù)量下滑,反過來也影響應(yīng)用活躍度,甚至是收入。對開發(fā)者來說,定期監(jiān)測并了解如何減少應(yīng)用程序的下載和安裝大小是一項(xiàng)重要的任務(wù)。

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 二進(jìn)制
    +關(guān)注

    關(guān)注

    2

    文章

    809

    瀏覽量

    43037
  • 應(yīng)用程序
    +關(guān)注

    關(guān)注

    38

    文章

    3344

    瀏覽量

    60260

原文標(biāo)題:Xcode棄用Bitcode,導(dǎo)致應(yīng)用體積大幅增加

文章出處:【微信號:OSC開源社區(qū),微信公眾號:OSC開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    TAIYO YUNDEN太陽誘電:汽車支持165℃多層型金屬功率電感器增加了1608尺寸的產(chǎn)品陣容

    TAIYO YUNDEN太陽誘電:汽車支持165℃多層型金屬功率電感器增加了1608尺寸的產(chǎn)品陣容
    的頭像 發(fā)表于 01-16 13:50 ?193次閱讀
    TAIYO YUNDEN太陽誘電:汽車<b class='flag-5'>用</b>支持165℃多層型金屬功率電感器<b class='flag-5'>增加</b>了1608尺寸的產(chǎn)品陣容

    合粵車規(guī)貼片鋁電解電容,小體積大能量,車載集成優(yōu)選

    車規(guī)貼片鋁電解電容憑借小體積、大能量、高可靠性及智能化設(shè)計,成為車載集成的優(yōu)選元件,其核心優(yōu)勢與技術(shù)特性如下: 一、小體積與高能量密度:適應(yīng)車載緊湊布局 體積縮小,容量提升 通過納米級蝕刻鋁箔技術(shù)
    的頭像 發(fā)表于 12-26 15:44 ?210次閱讀

    【轉(zhuǎn)】告別容量與體積的妥協(xié):永銘固態(tài)電容助力移動電源實(shí)現(xiàn)“小體積大容量”

    的容量-體積矛盾日益突出:增大容量往往以犧牲布局空間為代價,而縮小體積則可能導(dǎo)致濾波性能下降、系統(tǒng)穩(wěn)定性受損。 ? ? ? 這一痛點(diǎn)這個矛盾在高頻、高功率密度、高紋波的快充、移動電源應(yīng)用中尤為明顯。 永銘解決方案與優(yōu)勢 ? ?
    的頭像 發(fā)表于 12-10 14:38 ?467次閱讀
    【轉(zhuǎn)】告別容量與<b class='flag-5'>體積</b>的妥協(xié):永銘固態(tài)電容助力移動電源實(shí)現(xiàn)“小<b class='flag-5'>體積</b>大容量”

    告別容量與體積的妥協(xié):永銘固態(tài)電容助力移動電源實(shí)現(xiàn)“小體積大容量”

    容量往往以犧牲布局空間為代價,而縮小體積則可能導(dǎo)致濾波性能下降、系統(tǒng)穩(wěn)定性受損。這一痛點(diǎn)這個矛盾在高頻、高功率密度、高紋波的快充、移動電源應(yīng)用中尤為明顯。永銘解決
    的頭像 發(fā)表于 11-27 10:18 ?643次閱讀
    告別容量與<b class='flag-5'>體積</b>的妥協(xié):永銘固態(tài)電容助力移動電源實(shí)現(xiàn)“小<b class='flag-5'>體積</b>大容量”

    體積合金電阻需求激增,深圳市順??萍家I(lǐng)市場

    隨著電子設(shè)備小型化趨勢加速,小體積合金電阻市場前景廣闊。深圳市順海科技有限公司憑借其產(chǎn)品、研發(fā)、供應(yīng)及服務(wù)優(yōu)勢,借助華年商城線上平臺,有望在小體積合金電阻供應(yīng)領(lǐng)域持續(xù)領(lǐng)先。未來,小體積合金電阻可能會在尺寸進(jìn)一步縮小、性能
    的頭像 發(fā)表于 11-25 17:17 ?1195次閱讀
    小<b class='flag-5'>體積</b>合金電阻需求激增,深圳市順??萍家I(lǐng)市場

    CW32L010的ADC采樣值波動導(dǎo)致電機(jī)調(diào)速不平滑怎么解決?

    CW32L010的ADC采樣值波動導(dǎo)致電機(jī)調(diào)速不平滑
    發(fā)表于 11-18 06:30

    CSD船變壓器:為何能在鹽霧環(huán)境中穩(wěn)定運(yùn)行?

    船舶靠港時,鹽霧腐蝕讓變壓器頻繁故障,您知道如何解決嗎?海洋環(huán)境對電氣設(shè)備提出了嚴(yán)峻挑戰(zhàn),特別是鹽霧腐蝕問題。鹽霧會滲透到變壓器內(nèi)部,破壞絕緣層,導(dǎo)致變壓器故障率顯著增加。在港口靠泊期間,變壓器故障
    的頭像 發(fā)表于 09-28 13:35 ?513次閱讀
    CSD船<b class='flag-5'>用</b>變壓器:為何能在鹽霧環(huán)境中穩(wěn)定運(yùn)行?

    磁集成技術(shù)如何助力PCBA縮小體積?

    過去,PCBA(印刷電路板組裝)面臨諸多痛點(diǎn)問題,尤其是在變壓器、電感器的應(yīng)用中,多個電感、變壓器的應(yīng)用使得體積較大,導(dǎo)致整個PCBA模塊體積龐大,難以滿足現(xiàn)代電子產(chǎn)品對小型化的要求。 此外,傳統(tǒng)
    的頭像 發(fā)表于 07-16 14:02 ?771次閱讀
    磁集成技術(shù)如何助力PCBA縮小<b class='flag-5'>體積</b>?

    鴻蒙5開發(fā)寶藏案例分享---優(yōu)化應(yīng)用包體積大小問題

    ?** 鴻蒙包體積優(yōu)化實(shí)戰(zhàn):藏在官方文檔里的寶藏技巧!** 大家好呀~我是你們的鴻蒙開發(fā)小伙伴!今天在翻官方文檔時,發(fā)現(xiàn)了一個超實(shí)用的「包體積優(yōu)化」案例寶藏庫!這些技巧明明能大幅提升應(yīng)用體驗(yàn),卻很
    發(fā)表于 06-13 10:09

    Chiplet商業(yè)化將大幅增加網(wǎng)絡(luò)威脅

    小芯片的商業(yè)化將大大增加硬件遭受攻擊的可能性,這就需要在供應(yīng)鏈的每個層面采取更廣泛的安全措施和流程,包括從初始設(shè)計到產(chǎn)品報廢的整個過程中的可追溯性。近年來,安全措施方面已取得了長足進(jìn)步,包括從識別
    的頭像 發(fā)表于 05-28 13:48 ?914次閱讀
    Chiplet商業(yè)化將<b class='flag-5'>大幅</b><b class='flag-5'>增加</b>網(wǎng)絡(luò)威脅

    HarmonyOS優(yōu)化應(yīng)用包體積大小問題性能優(yōu)化

    一、概述 減小應(yīng)用包大小是提升應(yīng)用下載和安裝體驗(yàn)的重要方式。通過壓縮、精簡或者復(fù)用應(yīng)用中的代碼或資源,可以有效降低應(yīng)用包體積大小,減少空間占用,從而達(dá)到提升應(yīng)用下載和安裝速度的目的。在了解如何優(yōu)化包
    發(fā)表于 05-20 14:50

    漢威科技車傳感器助力打造智能空氣凈化系統(tǒng)

    汽車,不只是交通工具,更是人們展現(xiàn)新式生活美學(xué)的“第三空間”。汽車空氣質(zhì)量已經(jīng)成為人們的關(guān)注重點(diǎn)之一,車內(nèi)氣味問題很可能導(dǎo)致消費(fèi)者選。
    的頭像 發(fā)表于 05-20 10:19 ?820次閱讀

    請問TapLinx IOS SDK與Xcode 16不兼容嗎?

    /taplinxlibrary.swiftmodule/arm64-apple-ios.swiftmodule 您能否確認(rèn)與 Xcode 16 的兼容性?
    發(fā)表于 04-02 06:19

    在橡膠體積表面電阻率測試過程中,電磁干擾對測試結(jié)果的影響,如何有效屏蔽

    的負(fù)面影響,使測量的電流出現(xiàn)波動,最終導(dǎo)致測試得到的電阻值偏離真實(shí)值。在強(qiáng)電磁干擾環(huán)境下,測試結(jié)果可能會出現(xiàn)大幅度的偏差,根本無法準(zhǔn)確反映橡膠的電學(xué)性能,這對于依賴測試結(jié)果進(jìn)行產(chǎn)品研發(fā)、質(zhì)量把控的橡膠行業(yè)而言,
    的頭像 發(fā)表于 03-13 13:14 ?796次閱讀
    在橡膠<b class='flag-5'>體積</b>表面電阻率測試過程中,電磁干擾對測試結(jié)果的影響,如何有效屏蔽

    FreeRTOS出現(xiàn)Hardfault報錯是什么原因導(dǎo)致的?

    CM_backtrace找到報錯的代碼是在xPortStartScheduler函數(shù)中最后一行return 0;正常是不會跑到或者這一行的,不知道是什么導(dǎo)致的,想尋求各位大佬的支援。 附上報錯信息
    發(fā)表于 03-13 07:03