V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wangleineo
V2EX  ›  iOS

做移动开发的朋友们,你们怎样为 App 瘦身?

  •  
  •   wangleineo · 2017-08-02 17:00:47 +08:00 · 1993 次点击
    这是一个创建于 2673 天前的主题,其中的信息可能已经有所发展或是发生改变。

    今天 HN 上的一个热点话题: https://news.ycombinator.com/item?id=14901051

    现在很多 App 动辄几十 M,甚至上百 M 也不稀奇,太大的 app 会流失一部分对流量/存储空间比较敏感的用户,比如我这个 16G iPhone 的用户(大哭)。

    那么开发者们,一般用什么办法给 app 瘦身呢?

    1. 对于引用第三方库的,如果库很大,而你只用到一小部分功能,你会不会手选一部分用到的代码文件?这样做有没有弊端?
    2. 资源文件(图片等)怎么优化?

    放在 iOS 节点,不过希望做安卓的也能来聊聊吧。

    6 条回复    2017-08-03 10:03:05 +08:00
    wangleineo
        1
    wangleineo  
    OP
       2017-08-02 22:02:31 +08:00
    看来没人考虑过这个事啊...
    fly2never
        2
    fly2never  
       2017-08-02 22:13:04 +08:00   ❤️ 1
    1. 库静态链接
    2. 去掉无用的方法,类,etc
    3. 去掉不需要使用的资源,包括图片
    4. 压缩图片
    5. 减少功能
    chipmuck
        3
    chipmuck  
       2017-08-03 00:00:40 +08:00   ❤️ 1
    最重要的一点,图片的压缩。分两点说:

    1、减少重复图片资源,例如各种不同尺寸相同功能的占位图 /Logo 等;

    2、在放到 asset 中前,先压缩。

    其他的,其实费的力气比图片大的多,可能没有操作图片来的效果显著:

    1、去除无用代码、文件、字体包、各种 bundle 等;

    2、少依赖第三方库;

    3、减少兼容版本。
    wangleineo
        4
    wangleineo  
    OP
       2017-08-03 00:11:07 +08:00
    @chipmuck
    @fly2never

    关于图片资源,你们有没有试过 App Thinning? 效果如何?
    https://developer.apple.com/library/content/documentation/IDEs/Conceptual/AppDistributionGuide/AppThinning/AppThinning.html

    另外,关于使用第三方库,都是整体使用吗? 有没有试过拣选一部分需要的代码,剔除不用的?
    xiubin
        5
    xiubin  
       2017-08-03 09:51:02 +08:00
    Objc Swift 混编很是伤心
    chipmuck
        6
    chipmuck  
       2017-08-03 10:03:05 +08:00
    @wangleineo

    On-Demand Resources 没用过,其他的效果不是很明显。压缩图片资源我用 pp 鸭 ,这工具能把原来的资源以相同名字相同目录进行覆盖,挺好用的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3199 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 13:25 · PVG 21:25 · LAX 05:25 · JFK 08:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.