<td id="cl7yg"></td>

        <code id="cl7yg"></code>

          天极传媒:
          天极网
          比特网
          IT专家网
          52PK游戏网
          极客修
          全国分站

          ?#26412;?/a>上海广州深港南京福建沈阳成都杭州西安长春重庆大庆?#25103;?/a>惠州青岛郑州泰州厦门淄博天津无锡哈尔滨

          产品
          • 网页
          • 产品
          • 图片
          • 报价
          • 下载
          全高清投影机 净化器 4K电视曲面电视小?#19994;?/A>滚筒洗衣机
          您现在的位置: 天极网 > 开发>新闻>教程:如何减小iOS应用程序的大小?

          教程:如何减小iOS应用程序的大小?

          博客 2014-04-03 09:52 我要吐槽

            本文译自:Reducing the size of my App

            Q: 怎样才能让我的程序安装包小一点,让程序的下载和安装更快速?

            A: 本文收集了一些减小程序安装包大小的相关技巧(当第一次下载和安装程序时)。如果是针对升级程序的话,可以看这篇文章(减小iOS应用程序升级时所需下载的大小)(这与第一次安装使用的工作原理有所不同)。

            检查应用程序

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

            在做任何相关优化之前,我们需要做一些权衡。通过权衡,可以知道把优化的重点集中在什么地方。本文提到的一些技术缺点我们也需要做出考虑,我们必须考虑相关影响,以确保做出正确的决定。如果不做权衡的话,我们无法知道需要对程序做出什么样的改变。

            当第一安装iOS程序时,需要下载完整的一个.ipa文件。(注意这不同于升级)。实际上.ipa文件就是一个.zip结构。

            我们可以通过这样的方法来?#39029;?#31243;序的.ipa文件:从App Store下载应用,然后利用iTunes对iOS设备做同步处理,接着查看目录:~/Music/iTunes/iTunes Music/Mobile Applications,就能?#19994;?ipa文件了。

            当让我们也可以通过使用: Xcode的Archive命令来构造出.ipa文件——该文件与提交到App Store上的格?#20132;?#26412;一致。

            检查.ipa文件

            简单的将后?#20309;?ipa文件修改为.zip,然后利用Finder将其解压出来。右键单击解压出来的.app bundle,选择显示包内容,以查看里面的资源文件。通过该方法我们可以看到哪些文件占的空间最大。记住:.app bundle是经过压缩的,并且有些文件的压缩效果要比别的文件好,所以压缩后的效果才是才是最重要的。不过一般情况下在压缩前最大的文件,在压缩后依旧是最大的文件。我们可以将某个文件删除,然后在Finder中右键单击,选择压缩,这样可以更加精确的测量文件压缩效果。

            iOS App Store相关因素

            作为提交到App Store中app里的可执行文件是被加过密的。?#29992;?#30340;副作用是可执行文件的压缩效果没有之前的好了,因为?#29992;?#20250;隐藏一些细节问题。因此,从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?#23567;?#35831;不要修改Valid Architectures设置项,最好由Xcode管理。

            Assets

            对应用程序做一个完整性检查

            利用Inspecting Your App中介绍的流程,对.app bundle做一个全面的检查,以了解那些是真正需要用到的。在程序中,经常会包含一些额外的文件,例如readme之类的,这些从来都?#25442;?#34987;用到。

            将数据从代码中剥离出来

            将所有的资源(例如很长的字符串)从代码中剥离出来,并存入外部文件,这样会减小最终文件下载的大小,因为这些文件的压缩效果更好。(参考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的采样是没有必要的,稍微低一点的比特率也?#25442;?#38477;低音频的质量。

          作者:beyondvincent 责任编辑?#21644;?#29577;平)
          请关注天极网天极新?#25945;?nbsp;最酷科技资讯
          扫码赢大奖
          评论
          * 网友发言均非本站立场,本站不在评论栏推荐任何网店、经销商,谨防上当受骗!
          办公软件IT新闻整机
          紫夜时时彩软件

          <td id="cl7yg"></td>

              <code id="cl7yg"></code>

                <td id="cl7yg"></td>

                    <code id="cl7yg"></code>

                      老时时360票单式 北京28大神计划 开元棋牌没人赢过吗 鸿运来彩票app下载安装 体彩组六七码遗漏 北京赛pk10大小走势图 河内五分彩杀号方法 下载app送1888彩金 新时时彩五星直选 安徽11选5走势图10