1. 程式人生 > >APP瘦身,減小包大小的方法

APP瘦身,減小包大小的方法

資源過多,容易導致APP的包太大,會加重上傳和下載的負擔,所以有的時候需要做一些優化

  1. 不透明的大圖片壓縮成JPG格式
  2. 大的背景圖片如果一定要是png的,可以用photoshop 把它儲存為web格式的圖片,壓完之後注意看一下,有沒有太大的失真。
  3. 把product 裡面的檔案 使用“顯示包內容”方式,按照檔案大小排序,檢視打完包後具體是哪些圖片佔用太多的空間,並針對性地優化

tips:

  1. photoshow 有動作錄製回放功能,可以把相同的操作用快捷鍵完成,不會使用請百度谷歌
  2. png壓縮成jpg,程式碼裡面需要做一些特殊的更改。考慮到一般使用 [UIImage imagewithname:@"name.png"], 新建一個類,繼承自UIImage,重寫image named:方法,把name方法改成能夠識別 jpg、JPG、png、PNG以及@2x,程式碼附在後面
  3. Xcode編譯如果遇到重複的檔案,報錯,但不影響編譯通過,解決辦法就是把重複的檔案刪除就行了
  4. 我使用的軟體 Dedupo:去掉重複的檔案 EazyBatchPhoto: 圖片格式轉換,可 png 和 jpg 互轉 photoshop:當EazyBatchPhoto壓縮不理想,使用儲存為web格式。
.h 檔案
#import <UIKit/UIKit.h>

@interface DSImageForExtention : UIImage

@end
.m 檔案
#import "DSImageForExtention.h"

@implementation DSImageForExtention

+ (UIImage *)imageNamed:(NSString *)name
{
    NSString *imgName = nil;
    if ([super imageNamed:name]) {
        return [super imageNamed:name];
    }
    else
    {
        imgName = name;
        if ([imgName hasSuffix:@"jpg"]) {
            imgName = [imgName stringByReplacingOccurrencesOfString:@"jpg" withString:@"png"];
            if (![super imageNamed:imgName]) {
                imgName = [imgName stringByReplacingOccurrencesOfString:@".png" withString:@"
[email protected]
"]; } } else if ([imgName hasSuffix:@"png"]) { imgName = [imgName stringByReplacingOccurrencesOfString:@"png" withString:@"jpg"]; if (![super imageNamed:imgName]) { imgName = [imgName stringByReplacingOccurrencesOfString:@".jpg" withString:@"
[email protected]
"]; } } } return [super imageNamed:imgName]; } @end
注:因為這個程式碼是根據自己的專案定製的,使用的時候請根據實際情況修改 使用方法
[[UIImageView alloc] initWithImage:[DSImageForExtention imageNamed:@"[email protected]"]];



相關推薦

APP減小大小方法

資源過多,容易導致APP的包太大,會加重上傳和下載的負擔,所以有的時候需要做一些優化 不透明的大圖片壓縮成JPG格式大的背景圖片如果一定要是png的,可以用photoshop 把它儲存為web格式的

iOS 開發ipa -- 可執行檔案大小

專案寫完以後打出來的包太大 分析一下 首先開啟Products下有個.app 檔案 右鍵show in finder後 再次右鍵 顯示包內容 專案打包後的檔案就會一一羅列在這裡。 這裡重點看一下 這裡有個黑色的可執行檔案,在我專案裡一開始竟然達到了50M+ 那麼這個檔

Android APK 實踐(減小apk的大小)

因為推廣的需要,公司需要把APK的大小再“減小”一下,4M以內! 當達到4M以內之後,公司建議說,能否再壓壓?2M如何? 瘦身前 因為平時就考慮到大小的限制,所以很多工作已經做過了,如下列舉現在的狀態: 7.3M(Debug版本)和6.5M(Release版本)

如何對chromium進行把25M的大小較少到10M左右呢?

LASTCHANGE=267149 原始的ChromeShell.apk大小為:25M 先把WebRTC關閉: 1) ./build/common.gypi中設定為0 2) 把third_party中的webrtc目錄刪除 3)  刪除關聯gyp內容

減小unity iOS版大小方法

參考 這個StackOverFlow帖 https://docs.unity3d.com/550/Documentation/Manual/iphone-playerSizeOptimization.html  1. Release build instead of de

數字最後輸出一位數例如:75 7+5=12 1+2=3 最終答案 3

基本 adl using ram static mil ogr string pub 數字瘦身,最後輸出一位數,例如:75 7+5=12 1+2=3 最終答案 3 using System; public class Solution { private

Android App新姿勢——Android App Bundle

由於博主長期從事海外App的開發,所以心繫谷歌爸爸的動向呀,最近谷歌爸爸推出了一個Android App Bundle的東西,據說可以壓縮包體,當然這僅限於上傳Google Play的應用,國內市場不支援,當然我們也可以學習谷歌爸爸的思想。 概述 Android App Bun

安卓-APP優化

APP優化 APP瘦身 #1. 圖片的優化 ☆☆☆☆☆ s1.png圖片壓縮裁剪,打包APP後資原始檔分50k+大小圖片重點優化,10k+圖片選擇優化; s2.圖片資源格式處理(大小):.png > .jpg >

APP

混淆(把程式碼縮小了,比如類名改成a,b) 開啟壓縮選項 在module的build.gradle中新增 buildTypes { release { minifyEnabled true

iOS 漫談App

前段時間部門開需求會,砍掉了應用中的部分需求。這簡直就是給應用瘦身的良機!這個時候測試又提出來:安卓端的app在應用市場的包只有26M,而iOS端的app在App Store上卻有88M。 會後,我就找來安卓的測試機,對比了百度、支付寶、微信、京東、新浪和抖音幾

iOS App---清理iOS工程裡無用的圖片

LSUnusedResources 推薦一個清理圖片的應用 https://github.com/tinymind/LSUnusedResources 我們的工程在經過多人後,往往會出現較多的垃圾,導致打包出來的ipa檔案偏大,有時候我們會通過清理程式碼來給程式瘦身,

APP--刪除無用資原始檔

一、在開發過程中,由於需求不斷變更,UI的設計也在改變,可能造成了修改介面後,之前介面的資源清除不徹底,使得APP體積過於龐大。我們通過android中lint來清除無用的資源 1. 2. 3. 4. 這樣無用的資源就會被列出來了。覺的用不到的資源就刪

Android App 總結 第一章 圖片資源的優化處理

當一款App經歷了大量的迭代後,apk包會越來越臃腫,這裡面會存在大量的情況。比如冗餘的程式碼、無用的資源、未合理化處理的圖片等等。 在經歷了瘋狂的迭代後,我和我的團隊發現再也不能忽視apk大小

[Android 之美] 那些你不知道的APK 讓你的APK更小

[Android 之美] APK 瘦身,減少APK的大小 讓我們的apk檔案儘可能更小,移除那些未使用的程式碼和資原始檔。本章節介紹瞭如何做到讓APK更小,效能更好,下載轉化率會更高,以及如何指定在構建APK過程中保留或移除專案中的程式碼和資源,在我們還

App、效能優化總結

App瘦身 資源瘦身 使用tinypng壓縮PNG圖片。視訊可以通過 Final cut等軟體進行解析度壓縮。音訊則降低位元速率即可。 非必須資原始檔可以放到自己伺服器上 啟動圖使用 LaunchScreen.storyboard,啟動圖在一個專案資源中佔比其實蠻大的,但是使用 Launch

Android XML shape 標籤使用詳解(apk減少記憶體好幫手)

Android XML shape 標籤使用詳解   一個android開發者肯定懂得使用 xml 定義一個 Drawable,比如定義一個 rect 或者 circle 作為一個 View 的背景。但是,也肯定也有人在能使用 Drawable 的地方選擇使用一

關於安卓APP

1、as自帶分析工具(3.0.1):選單--》build展開--》analyze APK  選中我們打包的apk,稍等片刻就得到了我們的分析結果:很明顯類庫太大,點開之後一看,主要是百度地圖和pdf佔用了大量的空間,下一步,替換和刪除2、刪除百度地圖無用so檔案百度地圖sdk

Android-打包App

1.Android打包時,如果App想瘦身,需要開啟一些設定修改的build.gradle是紅色那個,不是黑色裡面的那個2.修改程式碼 buildTypes { release { minifyEnabled true //開啟

APP大法--AndResGuard的使用

什麼是AndResGuard   AndResGuard是一個縮小APK大小的工具,它的原理類似Java Proguard,但是隻針對資源。它會將原本冗長的資源路徑變短,例如將res/drawable/wechat變為r/d/a。 為什麼要使用AndRe

Docker容器映象的三種構建方法整理

 1  基本的構建方式,就是依賴各種資源的傳統方式構建,分層較多,一個容器至少在600M左右,但是各方的依賴工具都很全面,對於除錯,以及內部操作都 相對簡單方便。 2  使用Distroless移除容器中的所有累贅  目前的映象不僅含有Node.js,還含有yarn、np