iOS APP 瘦身實踐指南

由于公司項目由原生轉為了混合開發(fā),但是APP 的 release包 生成ipa ,有 80M 之大,
實際上,應用原生的部分已經很小了,但是項目中還存在著 很多原生的控制器,viewmodel 等類所以決定對現(xiàn)有app 進行瘦身

1.審視APP哪些東西很導致ipa 包很大


將ipa 包解壓,發(fā)現(xiàn),除了打包生成的二進制,和資源文件外,有兩個文件最大;
那么主要針對不用的圖片文件 和 打包后的資源文件處理,盡量減少不用的代碼的引用也能減小ipa 的包的大小;

2.瘦身結果

瘦身前

瘦身后

3.瘦身思路

  • 1.刪除不需要的資源文件
  • 2.刪除廢除的第三方SDK
  • 3.對于低版本的RAM 不再支持

4.瘦身工具

一個命令行工具,重組您的Xcode項目文件夾以匹配您的Xcode工程,把你project 里虛擬目錄分隔成真實的文件夾,

刪除project 工程中不用的資源文件

ipa 解壓后,除了資源文件還有一個比較大的 .car 文件,解壓查看xcode 打包了哪些東西,是什么東西導致ipa 爆大;


5.瘦身過程

App 瘦身整理:
8月1號之前的 公司項目 (8月1日)

安裝包大小 size
5.4.4 版本ipa包 77.5M
Universal 97.9 MB
iPhone 6s 54.2 MB
iPhone 6s Plus 60.3 MB

5.4.5 版本 瘦身后 (8月11日)

安裝包大小 size
5.4.4 版本ipa包 68.9 MB
Universal 80.8 MB
iPhone 6s 40.1 MB
iPhone 6s Plus 48.4 MB

(測試通過)
平均安裝包縮小了大約 15M ;


5.4.5 (223 版本-- 刪除 ARMV7 ) (8月11日)

223 安裝包大小 size
5.4.4 版本ipa包 48.6 MB
Universal 62.2 MB
iPhone 6s 40.1 MB
iPhone 6s Plus 48.4 MB

總結 223 版本因為刪除了ARMV7 所以包小了很多,當我恢復支持ARMV6 ,且刪除了引用的viewModel 和Controller 但是ipa 包反而變大了,所以,我猜測刪除ARMV7 是有效的;


5.4.7 (240 版本-- 刪除很多control 和viewmodel ) (8月11日)

224 安裝包大小 size
5.4.4 版本ipa包 54.7 MB
Universal 64.2 MB
iPhone 6s 31.7 MB
iPhone 6s Plus 39.8 MB

總結 224(測試中)恢復刪除的ARM7,ipa 變大了,但是單獨的 各個iphone 的版本實際上還是縮小了一些;所以,ARM的支持越多,會導致生成的ipa 越大,但是相應各個iphone 的安裝包實際變化不大


ARM了解

刪除過時的 ARM 支持
首先來了解一下Architectures中幾個參數(shù)的含義

指令集對應的機型:
2018 A12芯片arm64e : iphone XS、 iphone XS Max、 iphoneXR
2017 A11芯片arm64: iPhone 8, iPhone 8 Plus, and iPhone X
2016 A10芯片arm64:iPhone 7 , 7 Plus, iPad (2018)
2015 A9芯片arm64: iPhone 6S , 6S Plus 
2014 A8芯片arm64: iPhone 6 , iPhone 6 Plus
2013 A7芯片arm64: iPhone 5S
armv7s:iPhone5|iPhone5C|iPad4(iPad with Retina Display)
armv7:iPhone4|iPhone4S|iPad|iPad2|iPad3(The New iPad)|iPad mini|iPod Touch 3G|iPod Touch4

模擬器32位處理器測試需要i386架構,
模擬器64位處理器測試需要x86_64架構,
真機32位處理器需要armv7,或者armv7s架構,
真機64位處理器需要arm64架構。


友情鏈接:
參考了這幾個哥們的文章和瘦身記錄;
iOS學習之解壓Assets.car;
縮小 ipa包 壓縮 ipa iOS 如何縮小打包項目ipa大小;
當我們談論iOS瘦身的時候,我們到底在談論些什么;

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容