iOS開發之靜態庫(六) 時空之爭

2021-06-23 08:41:09 字數 858 閱讀 5459

前面的所有試驗中,我們的靜態庫都支援了所有可能的指令集(i386, x86_64, armv7, armv7s, arm64),最大限

度的匹配了所有可能執行該**的裝置,使**在當前存在的幾乎所有ios裝置上都能以最優的效能執行。然而,這樣 做是

否真的很好,是否真的必要。

」生成各種包含特定指令集

的靜態庫,檢視其占用磁碟空間的大小,結果如下

從上圖可以很清楚的看到,生成的二進位制檔案所支援的指令集越多,其占用的磁碟空間也越大:

支援1種指令集的靜態庫的大小在53k左右

支援2種指令集的靜態庫的大小在106k左右

支援3種指令集的靜態庫的大小在159k左右

支援4種指令集的靜態庫的大小在212k左右

支援5種指令集的靜態庫的大小在265k左右

結論:基本上與所支援的指令集的數量成正比

程式的時間與空間之爭歷來都是存在的,有些程式注重**執行的效率,也有些程式注重自身**的大小,尤其是

ios應用中的需求也是很多的。 從「

」可知,所有指令集都是向下相容的。

到了2014

年,iphone3g等標配armv6指令集的裝置基本已經絕跡了,而且從xcode4.5開始,也都取消了對armv6指令集的支援,所

以當前只需要考慮armv7及以上的指令集即可。

標配arm64指令集的iphone5s上是可以正常執行的,只是損失了點點效能,當然在其他的裝置上也能夠正常執行,從而

事實上,

只支援armv7指令集。

小,從而在一

iOS開發之靜態庫

最近在與第三方支付平台對接的時候,接過來的文件demo裡含有.a靜態庫檔案,但是因為庫包出錯,需要修改,才發現.a靜態庫檔案不可修改,所以上網進行了了解學習。現在跟大家分享一下學習的心得。framework 檔案和.a 檔案都是庫檔案 那什麼是庫檔案 庫是程式 的集合,是共享程式 的一種方式 根據源...

iOS開發之靜態庫的製作

當你需要和別人分享 但又不想讓別人看到你內部的實現時就需要製作靜態庫,通常用於第三方sdk 下面就分享一下製作靜態庫 a 的過程 1 開啟xcode,新建workspace 2 隨便給workspace取個名字 3 在workspace新建工程 4 選擇靜態庫 5 點選下一步 6 刪除系統自動幫你生...

iOS開發之靜態庫 a的製作教程

簡介 什麼是庫?庫是程式 的集合,是共享程式 的一種方式 根據源 的公開情況,庫可以分為 2 種型別 開源庫公開源 能看到具體實現 比如 sdwebimage afnetworking 閉源庫不公開源 是經過編譯後的二進位制檔案,看不到具體實現 主要分為 靜態庫 動態庫 靜態庫和動態庫 靜態庫和動態...