在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Xcode棄用Bitcode,導致應用體積大幅增加

OSC開源社區 ? 來源:OSC開源社區 ? 作者:OSC開源社區 ? 2022-11-15 11:40 ? 次閱讀

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

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

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

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

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

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

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

在上述這些例子中,應用空間占用突然增大都是由于這些應用程序首次使用了 Xcode 14 構建,而歸根結底,導致這個問題發生的原因就是 Xcode 14 默認禁用了 Bitcode。

Xcode 14 更新文檔中寫道:

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

什么是 Bitcode

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

什么是二進制符號剝離

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

簡單的解釋是,Bitcode 通過剝離二進制符號優化了生產構建。如果不打開 Bitcode,開發者就需要修改 Xcode 的構建設置,從而以其他方式剝離二進制符號。

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

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

Emerge 深度分析了耐克的 iOS 端應用程序,在 22.35.0 版本中,框架在 191.7MB 的安裝大小中占了 163.7MB。而到了 22.36.1 版本,框架在 322.1MB 的總容量中激增到 293.8MB。注意在每個框架中發現的深藍色的 "String Table" 的增加。

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

通過比較這兩個版本,可以發現幾乎所增加的 130MB 的體積都來自于 DYLD.String Tables。這些字符串表本身是非必要的元數據,而它們現在已經進入了生產構建中。

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

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

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

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

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

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 二進制
    +關注

    關注

    2

    文章

    795

    瀏覽量

    41686
  • 應用程序
    +關注

    關注

    37

    文章

    3283

    瀏覽量

    57749

原文標題:Xcode棄用Bitcode,導致應用體積大幅增加

文章出處:【微信號:OSC開源社區,微信公眾號:OSC開源社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    消納困難優先調度儲能!減少光-Acrel-2000MG微電網能量管理系統

    調度機構應結合本地實際制定新型儲能調度運行細則,明確新型儲能的調度關系。優化新型儲能調度運行,發揮移峰填谷和頂峰發電作用,增強本地電力供應保障能力,實現應用盡。在新能源消納困難時段優先調度新型儲能,實現日內應調盡調,減少
    的頭像 發表于 01-07 10:40 ?45次閱讀
    消納困難優先調度儲能!減少<b class='flag-5'>棄</b>風<b class='flag-5'>棄</b>光-Acrel-2000MG微電網能量管理系統

    C語言如何表示的函數

    自從把Ubuntu更新到24.04,經常在 man 手冊里面看到一些生面孔。
    的頭像 發表于 12-03 16:20 ?274次閱讀
    C語言如何表示<b class='flag-5'>棄</b><b class='flag-5'>用</b>的函數

    是什么原因導致ADS1262在數據吞吐率提高時會增加它的噪聲?

    請問像ADS1262這種32bit,或者24bit的sigma-delta過采樣adc,是什么原因導致的在數據吞吐率提高時會增加它的噪聲? 1、比如ADS1262我想在輸出數據速率4.8Khz
    發表于 11-26 07:27

    ADS8558無法實現高速采集,可能是哪些因素導致的,我們應該從哪些方面檢查呢?

    。 第二次改版,F28335+CPLD,外圍不變,ADS8558正常。 第三次改版,兩顆F28335+CPLD,外圍不變,ADS8558無法實現高速采集。 請問ADS8558無法實現高速采集,可能是哪些因素導致的,我們應該從
    發表于 11-25 06:27

    路燈漏電會導致哪些安全隱患

    一、 路燈漏電可能導致的安全隱患包括: ? 觸電事故:路燈漏電可能導致行人或騎行者在不知情的情況下觸電,尤其是在雨后或道路積水的情況下,水分會降低人體的電阻,增加觸電的風險。 ? 設備損壞:持續
    的頭像 發表于 11-20 13:43 ?140次閱讀
    路燈漏電會<b class='flag-5'>導致</b>哪些安全隱患

    PCB層數增加對成本有哪些影響

    PCB層數增加的成本影響 層數與成本的關系 :通常情況下,PCB的層數越多,其價格也越貴。這是因為層數的增加導致生產步驟(如層壓過程)的數量增加,從而需要更多的時間和資源來完成制造過
    的頭像 發表于 11-07 09:12 ?336次閱讀

    DRAM與NAND閃存價格大幅下跌

    近期,DRAM和NAND存儲行業再次遭遇消費者需求下滑的沖擊,導致存儲合約價格在短短一個月內出現大幅下跌。據分析公司DRAMeXchange的數據顯示,DRAM價格尤其受到重創,近一個月內下跌近20%。
    的頭像 發表于 10-09 17:08 ?555次閱讀

    INA163 4引腳的電壓信號被大幅度衰減是怎么回事?

    中間的是INA163,測試的時候正常上電,給4引腳接入0.1V正弦電壓信號,在9引腳處測試輸出信號,發現被大幅度衰減,基本沒有信號,但是5引腳測試時是正常的,所以想請教一下,可能存在的原因是什么?謝謝
    發表于 08-30 07:37

    INA826檢測時出現較大幅度偏移,導致結果偏大或偏小是什么原因導致的呢?

    電池化成產品上使用許多INA826,用于電池通道電流檢測。目前發現INA826檢測時出現較大幅度偏移,導致結果偏大或偏小,而且檢測通道不固定。請問一下,是什么原因導致的呢?
    發表于 08-02 07:35

    INA317儀表放大器前級加跟隨器,為什么會導致共模抑制比的大幅度下降呢?

    請問在儀表放大器正極、負極同時增加相同規格的電壓跟隨器,為什么會導致共模抑制比的大幅度下降呢? 如果僅使用儀表放大器INA317,實測共模抑制比能達到110dB。而為了增加高輸入阻抗
    發表于 08-01 06:49

    接地網阻值偏大的原因及解決方法

    :   接地體積不足是導致接地網阻值偏大的常見原因之一。如果接地體積不足,那么就會導致電流密度過大,從而使得接地電阻增加。  解決方法:
    發表于 06-17 09:19

    激光雷達新形態!體積縮小60%,成本大幅下降,有望進入千元機時代?

    電子發燒友網報道(文/梁浩斌)在高階智能駕駛滲透率不斷提高的同時,激光雷達作為當前高階智駕方案的核心傳感器之一,以往業界對激光雷達的主要印象就是“貴”。而車載激光雷達的體積較大,導致了汽車需要
    的頭像 發表于 04-28 00:07 ?4203次閱讀
    激光雷達新形態!<b class='flag-5'>體積</b>縮小60%,成本<b class='flag-5'>大幅</b>下降,有望進入千元機時代?

    如何才能增加fpga+fx3通過uvc輸出視頻的幀率?

    了。 增加dma緩存大小也會使上位機顯示黑屏,而且我USBBulkSourceSink試了下可以吞吐400mbyte/s,也不像是這里導致最多20幀。 現在懷疑是gpif限制了幀率,是這個原因嗎
    發表于 02-28 07:55

    請問算力強大的SOC來控制汽車是不是能夠大幅減少MCU的使用數量?

    來自一位用戶的咨詢,麻煩幫忙解答,越詳細越好,有圖有真相,可以適當提供一些英飛凌解決方案和產品推薦。 算力強大的SOC來控制汽車是不是能夠大幅減少MCU的使用數量? 未來電動汽車會使用SOC來代替大量MCU?
    發表于 02-02 07:16

    程序中增加一個變量導致異常的分析

    大家在平常的編程過程應該會碰到各種奇葩的問題吧,反正我最近是碰到了一次,再此跟大家分享一下。事情的原因是我在程序中增加了一個變量,然后就會導致程序每次都會進入異常。
    的頭像 發表于 01-22 09:56 ?603次閱讀
    程序中<b class='flag-5'>增加</b>一個變量<b class='flag-5'>導致</b>異常的分析
    主站蜘蛛池模板: 四虎免费影院在线播放| 四虎永久免费影院在线| xx日韩| 国产黄色在线视频| 无码一区二区三区视频| 精品福利视频网| 亚洲 欧美 日韩 综合| 四虎永久在线精品影院| 三级理论在线| 久久婷婷国产综合精品| 国产呦系列呦交| 久久精品国产福利| 在线观看免费午夜大片| 亚洲日本视频在线观看| 一级做a爰片久久毛片免费 | 毛片在线网| 国产精品777| 天天插狠狠干| 天天操女人| 国产精品国产三级在线高清观看| 一级做a爱片就在线看| 日日噜噜夜夜狠狠va视频| 美女被羞羞产奶视频网站| www.五月婷婷| 全免费一级毛片在线播放| 1024手机看片日韩| 久久成人国产精品免费| 四虎影视地址| 好男人社区在线观看www| 天天在线看片| 最新仑乱免费视频| 国产免费久久| 日本骚视频| 成人黄性视频| 加勒比在线免费视频| 亚洲精品久久婷婷爱久久婷婷| 在线免费观看毛片网站| 七月婷婷在线视频综合| 在线免费黄色网址| 在线观看的黄网| 一级三级黄色片|