您現在的位置是:電腦技術吧?>? 組裝維修 ??>??應用程序大小,應用程序窗口大小調整??>??正文詳情

應用程序大小,應用程序窗口大小調整

塔千秋2019-12-16 14:21:58 人圍觀
簡介縮小應用程序窗口問:如何使我的安裝包更小,下載和安裝程序更快?答:本文收集了一些關于減小安裝包大小的技巧(在第一次下載和安裝程序時)。如果是升級程序,您可以閱讀本

Q: 怎樣才能讓我的程序安裝包小一點,讓程序的下載和安裝更快速?  A: 本文收集了一些減小程序安裝包大小的相關技巧(當第一次下載和安裝程序時)。

如果是針對升級程序的話,可以看這篇文章(減小iOS應用程序升級時所需下載的大小)(這與第一次安裝使用的工作原理有所不同)。

  檢查應用程序  首先是檢查.app bundle,看一下程序包里面哪些文件占的空間最大。

  在做任何相關優化之前,我們需要做一些權衡。

通過權衡,可以知道把優化的重點集中在什么地方。

本文提到的一些技術缺點我們也需要做出考慮,我們必須考慮相關影響,以確保做出正確的決定。

如果不做權衡的話,我們無法知道需要對程序做出什么樣的改變。

  當第一安裝iOS程序時,需要下載完整的一個.ipa文件。

(注意這不同于升級)。

實際上.ipa文件就是一個.zip結構。

  我們可以通過這樣的方法來找出程序的.ipa文件:從App Store下載應用,然后利用iTunes對iOS設備做同步處理,接著查看目錄:~/Music/iTunes/iTunes Music/Mobile Applications,就能找到.ipa文件了。

  當讓我們也可以通過使用: Xcode的Archive命令來構造出.ipa文件該文件與提交到App Store上的格式基本一致。

  檢查.ipa文件  簡單的將后綴為.ipa文件修改為.zip,然后利用Finder將其解壓出來。

右鍵單擊解壓出來的.app bundle,選擇顯示包內容,以查看里面的資源文件。

通過該方法我們可以看到哪些文件占的空間最大。

記住:.app bundle是經過壓縮的,并且有些文件的壓縮效果要比別的文件好,所以壓縮后的效果才是才是最重要的。

不過一般情況下在壓縮前最大的文件,在壓縮后依舊是最大的文件。

我們可以將某個文件刪除,然后在Finder中右鍵單擊,選擇壓縮,這樣可以更加精確的測量文件壓縮效果。

  iOS App Store相關因素  作為提交到App Store中app里的可執行文件是被加過密的。

加密的副作用是可執行文件的壓縮效果沒有之前的好了,因為加密會隱藏一些細節問題。

因此,從App Store下載下來的.ipa文件大小要比從本地build出來的.ipa文件大。

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

  如果你選擇Organizer window中的某個archived,然后點擊Estimate Size,Xcode可以對最終分發的程序尺寸做出一個評估。

這里并不考慮Mac App Store上面的和企業級部署的iOS程序。

  Build Settings  編譯選項  將build setting中的Optimization Level設置為Fastest, Smallest [-Os]; 將build setting 中的Strip Debug Symbols During Copy設置為YES(COPY_PHASE_STRIP = YES),這樣可以減小編譯出二進制文件的尺寸。

這里提到的這些設置在Xcode工程中對于Release的配置是默認的。

  警告:這些設置會讓你的程序很難debug。

在一般開發環境build中不建議這樣設置,  Target針對較少的CPUs  默認情況下,Xcode工程都配置為:對程序指定的特定CPU類型做優化處理,以生成相對于的可執行文件。

不同的硬件,將運行不同的可執行代碼。

雖然這樣優化后的程序,只能針對某些設備運行,但是這大大減小可執行程序的大小。

  要想只設定特定類型的CPUs,可以修改build setting中的Architectures,將其從Standard $(ARCHS_STANDARD)修改為你希望支持的列表中對應的特定類型CPU。

有效的CPU名稱列在Valid Architectures (VALID_ARCHS) build setting中。

請不要修改Valid Architectures設置項,最好由Xcode管理。

  Assets  對應用程序做一個完整性檢查  利用Inspecting Your App中介紹的流程,對.app bundle做一個全面的檢查,以了解那些是真正需要用到的。

在程序中,經常會包含一些額外的文件,例如readme之類的,這些從來都不會被用到。

  將數據從代碼中剝離出來  將所有的資源(例如很長的字符串)從代碼中剝離出來,并存入外部文件,這樣會減小最終文件下載的大小,因為這些文件的壓縮效果更好。

(參考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,里面介紹了如何有效的處理音頻。

常規來說,我們要使用AAC或MP3來壓縮音頻,并且可以嘗試降低一下音頻的比特率。

有時候44.1khz的采樣是沒有必要的,稍微低一點的比特率也不會降低音頻的質量。

版權聲明:本文由 塔千秋 整理編輯。

原標題:怎么下應用程序,打開應用程序

轉載注明出處:http://www.dn9ww09s.icu/assemble/15483.html

文章評論

    共有條評論來說兩句吧...

    用戶名:

    驗證碼:

作者推薦

  • SciPy入門指南,grails 入門指南

    SciPy入門指南,grails 入門指南 相關圖片php入門指南本文主要介紹JavaScript的requirejs庫的介紹指南。近年來,requirejs庫的普及程度迅速提高。您可以參考目前最常用的JavaScript庫之明日之后新手入門指南...

  • 怎樣添加控件,vs如何添加控件

    怎樣添加控件,vs如何添加控件 相關圖片如何添加文本框控件看到后臺有很多網頁,刪除內容時會有一個確認對話框,可以很好的避免意外刪除,所以我也想在我的asp.net項目中添加這個功能,研究一下,最后采取刪除確認的功...

  • php文本寫入,php打開文件寫入內容

    php文本寫入,php打開文件寫入內容 相關圖片進入php怎么建文件本文的例子描述了如何在PHP中讀寫tab分隔的文件。與您分享以供參考。具體分析如下:該PHP代碼實現了對tab分離文件的讀寫,包括兩個獨立的函數,一個是讀寫,如p...

  • iframe,if name==main

    iframe,if name==main 相關圖片if函數顯示name本文主要介紹if\\\\\\\\\\\\\\\\\\\\\\\\\\\__#name什么意思...

  • java項目打包成jar包,web項目打包成jar包

    java項目打包成jar包,web項目打包成jar包 相關圖片eclipse打包成jar在做Android項目時,我們經常會遇到以下需求:將一些已經完成的項目集成到當前項目中,并以某種方式將以前項目的類和資源移動到當前項目中。接下來,我將介紹以前項...

  • 彩票開獎查詢排列5列5,彩票開獎查詢排列3

    彩票開獎查詢排列5列5,彩票開獎查詢排列3 相關圖片排列五歷史開獎結果前段時間客戶提出了一個需求,就是想讓查詢的結果隨機排序一下。查詢了很多東西說的很是不明白,最后解決了問題。方案如下:  只是在ORDER BY 后面加上一些...

  • guid分區表,具有mbr分區表

    guid分區表,具有mbr分區表 相關圖片磁盤分區表如果你的數據庫中某一個表中的數據滿足以下幾個條件,那么你就要考慮創建分區表了。  1、數據庫中某個表中的數據很多。很多是什么概念?一萬條?兩萬條?還是十萬條、...

  • frm證書有用嗎,frm是什么證書

    frm證書有用嗎,frm是什么證書 相關圖片frm怎樣算通過有時候mysql沒有做好數據備份,或者被數據管理員誤刪,或者ibdata損壞了我們如何恢復呢?別怕,只要有部分frm、ibd存在,下面就是恢復教程。  mysqfrm等級...

  • ios使用技巧,蘋果使用技巧

    ios使用技巧,蘋果使用技巧 相關圖片s檔使用技巧這篇文章主要介紹了Backbone.js的一些使用技巧,Backbone.js是一款人氣JavaScript庫,需要的朋友可以參考下  自從3年前Backbon蘋果x全部使用技巧圖解...

  • iOS13支持設備,ios設備是什么

    iOS13支持設備,ios設備是什么 相關圖片ios設備是什么意思網絡上有很多iOS組件庫,很方便實現控件,所以綠茶小編提醒,此篇文章只是講訴下,要如何在 iOS 設備上呈現原型?  很多 UX 和 PM 同學還是習慣使用傳統ios設備在哪...

熱評文章

  • oracle存儲過程是什么,oracle存儲過程詳解

    oracle存儲過程是什么,oracle存儲過程詳解 相關圖片oracle如何調用存儲過程如果不小心覆蓋了上一個存儲過程,則需要刷新。時間越長,閃回的可能性就越小。這是恢復原則。如果不小心覆蓋了上一個存儲過程,則需要刷新。時間越長,...

  • 輕松轉聯盟,輕松轉奶

    輕松轉聯盟,輕松轉奶 相關圖片廣信貸簡單賺如何轉輕松賺將SQL數據庫傳輸到access數據庫的步驟如下:1。建立access數據庫:在access中建立access數據庫和表,access字段類型與SQL字段類型的轉奶技巧...

  • 分頁的實現思路,通用的分頁思路

    分頁的實現思路,通用的分頁思路 相關圖片分頁查詢思路在搜索復雜條件時,somefield somefieldmysql排序的東西會搜索數據庫,找到所有符合條件的記錄,然后取出M,n條記錄。如果你有數十萬條數據,用js分頁...

  • 話永遠不會掉在地上,什么東西往上升永遠不會往下掉

    話永遠不會掉在地上,什么東西往上升永遠不會往下掉 相關圖片是最里面兩個板牙永遠不會掉Android系統有自己的內存管理方法。為了保證系統的有序穩定運行,系統會自動分配和控制程序的內存使用。當系統認為當前的資源非常有限時,為了保證一...

  • excel生成文件夾目錄,生成pdf

    excel生成文件夾目錄,生成pdf 相關圖片如何制作pdf格式文件如果我們與其他人共享模塊,我們希望Access2000將刪除可編輯的源代碼。這樣,VBA程序可以繼續運行,但其他用戶無法查看或編輯它。我們可以通過單擊“工具”,...

  • 小米主題設置自定義,同花順自定義界面設置

    小米主題設置自定義,同花順自定義界面設置 相關圖片吃雞自定義布局設置微軟推出的Windows 8和Windows 10操作系統中,有近兩個采用了向導界面風格。事實上,在現代UI(新用戶界面)中也有類似的界面樣式。如果用戶設計了歡微信發現界面...

  • exists和in的區別,數據庫exists與in的區別

    exists和in的區別,數據庫exists與in的區別 相關圖片not exists用法本文的例子說明了在PHP中存在ISSET和ARRAYXKEY的區別。與您分享以供參考。具體分析如下:1。數組值的判斷不同。對于NULL或“OR”或“false”mysql exists用法...

  • u盤寫入無響應,軟碟通寫入無響應

    u盤寫入無響應,軟碟通寫入無響應 相關圖片寫入ISO失敗將asp生成的內容寫入響應流的最有效方法是什么?使用ASP的主要原因之一是在服務器上生成動態內容。因此,顯然,我們測試的起點是確定將動態內容發送到響應流的最合適...

  • 上傳參數亂碼,request參數亂碼

    上傳參數亂碼,request參數亂碼 相關圖片ajax傳遞中文參數亂碼計算機誕生于美國,英語是他的母語,其他語言是他的外語。像我們一樣,不管他掌握得多好,他也不會像母語那樣使用外語。他經常犯一些拼寫錯誤。產生誤碼的...

  • winform嵌入html,ashx引用到html5中

    winform嵌入html,ashx引用到html5中 相關圖片mysql下載本文主要介紹了HTML ashx表單提交的具體實現。對于您的朋友,請參考以下1。sumbit form submission webform1.aspx的源代碼ashx如何寫控件的點擊事件...

關注微信

变脸官网查询