iOS性能優化09-安裝包瘦身

2020-12-08 新新猿類
瘦身

我們開發完一個項目將來肯定是要進行編譯,然後打包上傳到APPStore提供給用戶下載,那我們最終打包是什麼格式呢?其實是一個IPA包,那首先我們來看看安裝包的組成

安裝包(ipa)主要由可執行文件、資源組成

資源(圖片、音頻、視頻等)採取無損壓縮:網上有很多,我常用的像 TinyPng、Squoosh、圖好快 等等去除沒用到的資源:大家可以試試GitHub上有個開源項目可以檢測項目裡沒用的資源文件 GitHub傳送門可執行文件瘦身編譯器優化 現在的新版Xcode已經自動給優化了,如果你的項目比較舊的話,可以去XCode設置這些選項,不確定的話最好都去搜下然後設置下 Strip Linked Product、Make Strings Read-Only、Symbols Hidden by Default設置為YES去掉異常支持,Enable C++ Exceptions、Enable Objective-C Exceptions設置為NO, Other C Flags添加-fno-exceptions利用AppCode(這個軟體是收費的,可以試用30天,當然有錢的大家可以支持下正版,沒錢的話想辦法也可以搞到)檢測未使用的代碼:菜單欄 -> Code -> Inspect Code編寫LLVM插件檢測出重複代碼、未被調用的代碼(這個比較高級,也比較複雜,涉及到的知識有點多,後面會用專門一篇文章來記錄)還有個東西叫LinkMap(可以查看可執行文件的具體組成),我們可以用Xcode來生成LinkMap文件LinkMap不過系統生成的這個txt文件可能看著比較難分析,那麼我們可以藉助三方工具來分析LinkMap文件,GItHub上有開源Mac OS項目,大家下載完編譯完就可以用了解析LinkMap文件工具傳送門解析前

# Sections:# Address Size Segment Section0x100000F30 0x00000553 __TEXT __text0x100001484 0x0000003C __TEXT __stubs0x1000014C0 0x00000074 __TEXT __stub_helper0x100001534 0x00000D26 __TEXT __objc_methname0x10000225A 0x00000070 __TEXT __objc_classname0x1000022CA 0x00000ADA __TEXT __objc_methtype0x100002DA4 0x00000090 __TEXT __cstring0x100002E34 0x0000017E __TEXT __entitlements0x100002FB4 0x00000048 __TEXT __unwind_info0x100003000 0x00000018 __DATA_CONST __got0x100003018 0x00000020 __DATA_CONST __cfstring0x100003038 0x00000018 __DATA_CONST __objc_classlist0x100003050 0x00000020 __DATA_CONST __objc_protolist0x100003070 0x00000008 __DATA_CONST __objc_imageinfo0x100004000 0x00000050 __DATA __la_symbol_ptr0x100004050 0x00001308 __DATA __objc_const0x100005358 0x00000018 __DATA __objc_selrefs0x100005370 0x00000010 __DATA __objc_classrefs0x100005380 0x00000008 __DATA __objc_superrefs0x100005388 0x00000008 __DATA __objc_ivar0x100005390 0x000000F0 __DATA __objc_data0x100005480 0x00000188 __DATA __data# Symbols:# Address Size File Name0x100000F30 0x00000039 [ 2] -[ViewController viewDidLoad]0x100000F70 0x00000080 [ 3] -[AppDelegate application:didFinishLaunchingWithOptions:]0x100000FF0 0x00000120 [ 3] -[AppDelegate application:configurationForConnectingSceneSession:options:]0x100001110 0x0000006C [ 3] -[AppDelegate application:didDiscardSceneSessions:]0x100001180 0x00000090 [ 4] _main0x100001210 0x000000A0 [ 5] -[SceneDelegate scene:willConnectToSession:options:]0x1000012B0 0x00000040 [ 5] -[SceneDelegate sceneDidDisconnect:]0x1000012F0 0x00000040 [ 5] -[SceneDelegate sceneDidBecomeActive:]0x100001330 0x00000040 [ 5] -[SceneDelegate sceneWillResignActive:]0x100001370 0x00000040 [ 5] -[SceneDelegate sceneWillEnterForeground:]0x1000013B0 0x00000040 [ 5] -[SceneDelegate sceneDidEnterBackground:]0x1000013F0 0x00000020 [ 5] -[SceneDelegate window]0x100001410 0x00000040 [ 5] -[SceneDelegate setWindow:]0x100001450 0x00000033 [ 5] -[SceneDelegate .cxx_destruct]0x100001484 0x00000006 [ 6] _NSStringFromClass

解析後:

LinkMap

相關焦點

  • 抖音工程師:iOS 安裝包大小優化實踐篇
    客戶端開發的同學都知道「安裝包大小」是 App 重要的基礎體驗指標之一。今天將為大家介紹抖音在優化安裝包大小方向做的一些探索和嘗試。閱讀這篇文章將會花費 8 分鐘時間,閱讀完成之後你將對安裝包優化有一個整體的認知,文章內容包括:AppStore 對安裝包的限制沿革以及 App 花費精力優化 iOS 安裝包將獲得什麼收益;如何在線下準確把控安裝包大小對 AppStore 上影響;Part 1.
  • 抖音品質建設 - iOS 安裝包大小優化實踐篇
    客戶端開發的同學都知道「安裝包大小」是 App 重要的基礎體驗指標之一。今天將為大家介紹抖音在優化安裝包大小方向做的一些探索和嘗試。閱讀這篇文章將會花費 8 分鐘時間,閱讀完成之後你將對安裝包優化有一個整體的認知,文章內容包括:AppStore 對安裝包的限制沿革以及 App 花費精力優化 iOS 安裝包將獲得什麼收益;如何在線下準確把控安裝包大小對 AppStore 上影響;Part 1.
  • 英雄聯盟手遊ios安裝教程 lol手遊ios怎麼安裝
    英雄聯盟手遊ios安裝教程 lol手遊ios怎麼安裝 2020-10-18 13:25 作者:我遊網
  • 悟飯遊戲廳ios版下載安裝
    對此類遊戲感興趣的玩家,快來挑戰悟飯遊戲廳ios版下載安裝吧悟飯遊戲廳ios版下載安裝軟體特色:學習工作太緊張,悟飯遊戲廳ios版下載安裝讓你心情愉悅1)海量經典免費遊戲隨便玩;
  • ​吹爆系列:深入探索 Android 包體積優化
    在 Android 性能優化的知識體系當中,包體積優化一直被排在優先級比較低的位置,從而導致很多開發同學對自身應用的大小並不重視。https://github.com/Tencent/matrix/wiki/Matrix-Android-ApkChecker瘦身優化是性能優化當中不那麼重要的一個分支,不過對於處於穩定運營期的產品會比較有幫助。下面我們就來看看對於瘦身優化有哪些常見問題。1、怎麼降低 Apk 包大小?
  • 咪嚕ios版遊戲下載安裝_咪嚕ios版手遊下載安裝_18183手機遊戲下載
    在你開始試玩百分網ios版下載安裝後,你就會被這個遊戲深深的吸引住。 咪嚕ios版下載安裝用戶評價: 對這款軟體實在是很滿意!挑不出毛病 咪嚕ios版下載安裝軟體特色: 【精心挑選好玩到爆】 愛玩遊戲更為輕鬆,點評試玩,更加直觀推薦應用絕不坑爹,小編親測,趣味十足!
  • 蘋果ipa包用超級籤名測試安裝到IOS系統手機上
    蘋果ipa包超級籤名是一種在APP內測時常常使用來安裝到IOS系統上的籤名,做了超級籤名的應用可以不上架App Store,不經過蘋果審核就可以上架。用戶安裝時可以直接安裝,不用像企業籤名那樣信任企業證書,技客超級籤名它的穩定性非常好,所以很多開發者再進行內測時,會首選超級籤名。
  • 三星手機的這個功能,會是未來性能優化的新思路嗎?
    比如此前我們三易生活就曾提及過,帶有性能優化、耗電監測、文件誤刪找回等多個實用功能的Galaxy Labs;比如能深度自定義修改UI、操控邏輯的GoodLock,其實都屬於這種由於「精簡系統」,而在一定程度上遭到埋沒的優秀應用。
  • [Android技術專題]APK瘦身看這一篇文章就夠了
    出於能夠更便捷、高效獲取優質資源的角度考慮,寫一系列專題的想法就誕生了,結合自己閱讀過的技術文章和實際工作經驗,將平時收集的優質技術文章按照某個方面整理成一系列的專題,比如APK瘦身、插件化、程序架構、性能優化、自定義view、增量升級、移動開發各種技術解決方案等。這是我目前能夠想到的除了寫書之外最值得做的一件事情了。
  • 首款iOS手遊模擬器——黑雷蘋果桌面版
    一直很期待能夠有一款ios模擬器,能夠模擬蘋果系統,解放自己蘋果手機可憐的電量。China No.1十年等待 國人首創可供您隨時在電腦端體驗蘋果移動應用及遊戲無與倫比的大屏體驗充分發揮電腦性能 超強運算能力帶動應用及遊戲穩定流暢運行鍵鼠操作,極速多開,虛擬定位帶給您絕佳操控超強同步
  • iOS性能測試實戰-instruments
    由這個故事我們可以知道,其實有的時候能爭取一點就爭取一點,在性能測試當中是多麼的重要。目前iOS性能測試主要有兩部分來優化:a.代碼層面 reivew優化b.通過一些性能工具來幫助挖掘項目瓶頸本文主要就性能工具的層面來闡述性能測試的一些技巧和必備知識。
  • 優化性能 SSD固件升級與優化工具介紹
    優化性能 SSD固件升級與優化工具介紹 2013年04月18日 00:38作者:宋陽編輯:宋陽文章出處:泡泡網原創 固件不單直接影響SSD的性能、穩定性,也會影響到SSD的壽命。
  • iOS 14.4開發者預覽版發布 安裝包不小性能進一步提升
    iOS 14.4開發者預覽版目前官方並未明確表示iOS 14.4系統加入了哪些新功能,只是說新系統包含Bug修復和性能提升。但考慮到巨大的系統安裝包,新版系統的更新幅度應該很大。
  • 做ios籤名的注意!以下這些問題將會導致app安裝出錯!
    在做ios籤名的時候,通常都會根據籤名的類型去選擇不同的打包方式。但是,錯誤的打包方式會直接導致籤名失敗,應用在安裝的時候出錯。其實,很大程度上是因為你在打包的時候選擇了錯誤的打包方式才會出現如此尷尬的局面。下面為大家整理一下大致原因,希望大家在做ios籤名的時候儘量避免出錯。
  • 如何針對遊戲性能優化Windows 10
    Windows 10遊戲模式的內置優化功能。要了解更多信息,請按Windows鍵+ I,鍵入遊戲模式,打開遊戲模式以優化您的PC遊戲。在遊戲的時候,單擊遊戲模式。切換到開啟以利用遊戲模式。如果您的PC支持遊戲模式,則將暫停Windows Update,同時管理遊戲和資源以實現最佳幀速率。
  • 小雞模擬器iOS版激活碼 iOS版安裝教程
    小夥伴們知道怎麼樣安裝嗎?知道激活碼在哪裡領取嗎?接下來九遊小編就來和大家詳細的說說小雞模擬器iOS版安裝教程,一起來看看吧! iOS小... 來了!來了!各位玩家一直在期盼的小雞模擬器iOS版終於要來咯!小夥伴們知道怎麼樣安裝嗎?知道激活碼在哪裡領取嗎?
  • ios不越獄怎麼安裝ipa?
    那麼ios不yueyu應該怎麼安裝未上架App Store的ipa文件呢?可以使用蘋果籤名。進行蘋果籤名的應用,可以不用上架,不用越獄,直接安裝在iOS手機上。很多ios用戶會發現,一些遊戲、軟體,雖然App Store中找不到他們的應用,但他們的官網中是有ios下載二維碼的,掃碼就可以不通過App Store下載,他們大部分都是使用了蘋果籤名。蘋果籤名目前又可以分為蘋果企業籤名、蘋果超級籤名、和tf籤名。
  • 變態遊戲盒子大全ios 變態遊戲盒子ios哪個好
    變態遊戲盒子大全ios 變態遊戲盒子ios哪個好 來源:www.18183.com作者:wer時間:2020-09-27 變態遊戲盒子大全ios,變態遊戲盒子ios哪個好。
  • 愛思助手ios在線安裝最新版
    軟體介紹愛思助手ios在線安裝最新版一款為科技愛好者推出資訊社區,大家可以了解到非常多最新的科技新聞資訊,各種好玩有趣的科技產品開闊你的眼界,讓你感受科技迅速發現的世界,這裡還聚集了一群喜歡科技喜歡遊戲的朋友們,大家可以在這裡一起聊聊自己喜歡的愛好,歡迎加入和大家一起玩呀!
  • ios13.4無法安裝第三方軟體怎麼辦?ios13.4無法安裝第三方軟體的...
    我們很多iPhone手機用戶反映在更新ios13系統後,安裝不了第三方軟體,下面小編將介紹ios13為什麼安裝不了第三方軟體怎麼辦。最近有很多使用這個手機系統的用戶出現了這個問題,用戶可以使用手機在這個平臺上進行使用,可以方便用戶更好的操作,很多用戶都很喜歡這個系統,但是在使用的過程中無法安裝第三方軟體就會對用戶的使用造成非常多不好的影響,讓用戶無法正常的使用,那麼一起來看看吧! ios13.4無法安裝第三方軟體怎麼辦?