<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>