明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

ios7.1安裝包大小更改圖文說明教程:減少ios7.1安裝包大小步驟

[摘要]--檢查應用程序首先是檢查.app bundle,看一下程序包里面哪些文件占的空間最大。在做任何相關(guān)優(yōu)化之前,我們需要做一些權(quán)衡。通過權(quán)衡,可以知道把優(yōu)化的重點集中在什么地方。本文提到的一些技術(shù)缺點我們也需要做出考慮,我們必須考慮相關(guān)影響,以確保做出正確的決定。如果不做權(quán)衡的話,我們無法知道需要對...
 

ios7.1安裝包大小修改教程:減少ios7.1安裝包大小步驟1
 

  --檢查應用程序

  首先是檢查.app bundle,看一下程序包里面哪些文件占的空間最大。在做任何相關(guān)優(yōu)化之前,我們需要做一些權(quán)衡。通過權(quán)衡,可以知道把優(yōu)化的重點集中在什么地方。本文提到的一些技術(shù)缺點我們也需要做出考慮,我們必須考慮相關(guān)影響,以確保做出正確的決定。如果不做權(quán)衡的話,我們無法知道需要對程序做出什么樣的改變。
 

  當?shù)谝话惭biOS程序時,需要下載完整的一個.ipa文件。(注意這不同于升級)。實際上.ipa文件就是一個.zip結(jié)構(gòu)。
 

  *找出程序的.ipa文件方法:

  1、從App Store下載應用,然后利用iTunes對iOS設(shè)備做同步處理,接著查看目錄:~/Music/iTunes/iTunes Music/Mobile Applications,就能找到.ipa文件了。
 

  2、當然我們也可以通過使用: Xcode的Archive命令來構(gòu)造出.ipa文件——該文件與提交到App Store上的格式基本一致。
 

  --檢查.ipa文件

  簡單的將后綴為.ipa文件修改為.zip,然后利用Finder將其解壓出來。右鍵單擊解壓出來的.app bundle,選擇顯示包內(nèi)容,以查看里面的資源文件。通過該方法我們可以看到哪些文件占的空間最大。
 

  *注意:.app bundle是經(jīng)過壓縮的,并且有些文件的壓縮效果要比別的文件好,所以壓縮后的效果才是才是最重要的。不過一般情況下在壓縮前最大的文件,在壓縮后依舊是最大的文件。我們可以將某個文件刪除,然后在Finder中右鍵單擊,選擇壓縮,這樣可以更加精確的測量文件壓縮效果。
 

  --iOS App Store相關(guān)因素

  作為提交到App Store中app里的可執(zhí)行文件是被加過密的。加密的副作用是可執(zhí)行文件的壓縮效果沒有之前的好了,因為加密會隱藏一些細節(jié)問題。因此,從App Store下載下來的.ipa文件大小要比從本地build出來的.ipa文件大。
 

  注意:將長文本內(nèi)容和表數(shù)據(jù)等從代碼中移除,并添加到外部文件中,這樣可以減小最終安裝包下載的大小——因為這些文件的壓縮效果更好。
 

  如果你選擇Organizer window中的某個archived,然后點擊Estimate Size,Xcode可以對最終分發(fā)的程序尺寸做出一個評估。這里并不考慮Mac App Store上面的和企業(yè)級部署的iOS程序。
 

  --Build Settings編譯選項

  將build setting中的Optimization Level設(shè)置為Fastest, Smallest [-Os]; 將build setting 中的Strip Debug Symbols During Copy設(shè)置為YES(COPY_PHASE_STRIP = YES),這樣可以減小編譯出二進制文件的尺寸。這里提到的這些設(shè)置在Xcode工程中對于Release的配置是默認的。
 

  *警告:這些設(shè)置會讓你的程序很難debug。在一般開發(fā)環(huán)境build中不建議這樣設(shè)置。
 

  --Target針對較少的CPUs

  默認情況下,Xcode工程都配置為:對程序指定的特定CPU類型做優(yōu)化處理,以生成相對于的可執(zhí)行文件。不同的硬件,將運行不同的可執(zhí)行代碼。雖然這樣優(yōu)化后的程序,只能針對某些設(shè)備運行,但是這大大減小可執(zhí)行程序的大小。
 

  要想只設(shè)定特定類型的CPUs,可以修改build setting中的Architectures,將其從Standard $(ARCHS_STANDARD)修改為你希望支持的列表中對應的特定類型CPU。有效的CPU名稱列在Valid Architectures (VALID_ARCHS) build setting中。請不要修改Valid Architectures設(shè)置項,最好由Xcode管理。
 

  --Assets對應用程序做一個完整性檢查

  利用Inspecting Your App中介紹的流程,對.app bundle做一個全面的檢查,以了解那些是真正需要用到的。在程序中,經(jīng)常會包含一些額外的文件,例如readme之類的,這些從來都不會被用到。
 

  將數(shù)據(jù)從代碼中剝離出來

  將所有的資源(例如很長的字符串)從代碼中剝離出來,并存入外部文件,這樣會減小最終文件下載的大小,因為這些文件的壓縮效果更好。(參考iOS App Store Specific Considerations中的完整介紹。)
 

  --Image Assets盡量使用8-bit圖片

  使用8-bit的PNG圖片,比32-bit的圖片能減少4倍的壓縮率。由于8-bit的圖片支持最多256種不同的顏色,所以8-bit的圖片一般只應該用于一小部分的顏色圖片。例如灰度圖片最好使用8-bit。
 

  針對32-bit的圖片盡量使用高壓縮的比率

  利用Adobe Photoshop的Save For Web可以減小JPEG和PNG的圖片大小。在Xcode中,默認情況下,會自動的使用pngcrush來壓縮.png圖片。
 

  --Audio Assets音頻的壓縮

  參考WWDC中的Audio Development for Games,里面介紹了如何有效的處理音頻。常規(guī)來說,我們要使用AAC或MP3來壓縮音頻,并且可以嘗試降低一下音頻的比特率。有時候44.1khz的采樣是沒有必要的,稍微低一點的比特率也不會降低音頻的質(zhì)量。
 

  *溫馨提示:以上這些方法僅供參考,而且僅適用于對程序占用空間特別在意又對自己的耐心非常有信息的同學們,要不然,頭疼呵呵了什么的,只好自己忍著啦~

綠茶


手機APP這些安裝在手機里面豐富多彩的軟件,讓我們的生活更加方便和精彩。游戲、社交、購物、視頻、音樂、學習......我們可以隨時隨地,隨處進行。