zoukankan      html  css  js  c++  java
  • 减小App包的大小

    检查.ipa文件

    首先获得app的ipa文件。

    将ipa文件的后缀改为.zip,解压得到包内容。

    查看资源文件哪个最大。然后试着对最大的文件即可处理


    图片

    尽量使用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图片。

    使用压缩工具进行处理:

    推荐使用ImageOptim对图片进行压缩,实验证明该tools。

    编译选项

    将build setting中的Optimization Level设置为Fastest, Smallest [-Os]; 将build setting 中的Strip Debug Symbols During Copy设置为YES(COPY_PHASE_STRIP = YES),这样能够减小编译出二进制文件的尺寸。这里提到的这些设置在Xcodeproject中对于Release的配置是默认的。

    警告:这些设置会让你的程序非常难debug。

    在一般开发环境build中不建议这样设置。

    减小指令集的大小:

    眼下指令集有下面几种:

    armv6 --> iPhone  iPhone2 iPhone3G 第一二代的iPod Touch

    armv7--> iPhone4 iPhone4s

    armv7s --> iPhone5  iPhone5c

    armv64 --> iPhone5s

    机器对指令集的支持是向下兼容,因此iPhone5s是能够在armv7的指令集上执行。仅仅是效率没有那么高。

    你的设备是armv7s指令集,那么它也能够兼容执行比armv7s版本号低的指令集:armv7、armv6

    ========================================================

    名词解释:

    Architecture:该编译选项是为了指定project将被编译成哪些指令集,支持指令集是通过编译生成对应的二进制数据包实现的。假设支持的指令集数目有多个。就会编译出包括多个指令集代码的数据包,造成终于编译的包非常大。

    Valid architectures :该编译项指定可能支持的指令集,该列表和Architectures列表的交集,将是XCode终于生成的二进制包所支持的指令集。

    Build Active Architecture Only :该编译项用于设置是否仅仅编译当前使用的设备相应的arm指令集。

    当该选项设置成YES时,你连上一个armv7指令集的设备。就算你的Valid Architectures和Architectures都设置成armv7/armv7s/arm64,还是依旧仅仅会生成一个armv7指令集的二进制包。

    当然该选项起作用的前提是你的Xcode必须成功连接了调试设备。

    假设你没有不论什么活跃设备,即Xcode没有成功连接调试设备,就算该设置项设置成YES依旧还会编译Valid Architectures和Architectures指定的二进制包。

    通常情况下,该编译选项在Debug模式都设成YES,Release模式都设成NO。


    假设你的软件对安装包大小很敏感,你能够降低安装包中的指令集数据包,并且这能达到立竿见影的效果
    我们的项目之前支持的指令集是armv7/armv7s。后来改成仅仅支持armv7后。比原来小了10MB左右。

    眼下AppStore上的一些知名应用,比方百度地图、腾讯地图通过反汇编工具查看后,也都仅仅支持armv7指令集。

    只是对于armv7s/arm64指令集设备来说,使用执行armv7应用是会有一定的性能损失。只是这样的损失有多大缺乏权威统计数据,个人觉得是不会影响用户体验的







  • 相关阅读:
    UVALive 7509 Dome and Steles
    HDU 5884 Sort
    Gym 101194H Great Cells
    HDU 5451 Best Solver
    HDU 5883 The Best Path
    HDU 5875 Function
    卡特兰数
    UVa 11729 Commando War 突击战
    UVa 11292 The Dragon of Loowater 勇者斗恶龙
    Spark Scala Flink版本对应关系
  • 原文地址:https://www.cnblogs.com/yxysuanfa/p/6723332.html
Copyright © 2011-2022 走看看