为什么现在 Android 应用体积那么大? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
neteroster
V2EX    问与答

为什么现在 Android 应用体积那么大?

  •  1
     
  •   neteroster 2020-01-24 16:47:11 +08:00 5901 次点击
    这是一个创建于 2166 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现在大部分 Android 应用都占用相当大的存储空间。

    例如:微信刚安装不久就占用接近 1G 的空间(主要并不是聊天记录); Bilibili 刚安装完就占用超过 400M 空间。

    这些空间大小甚至能超过 PC 上同类应用的体积。

    不是开发者,希望大家科普一下占用的空间主要用于存储什么数据,是否有可能优化存储空间的使用。

    谢谢大家。

    19 条回复    2020-01-26 14:49:41 +08:00
    kaedea
        1
    kaedea  
       2020-01-24 16:58:06 +08:00 via Android
    不加体积哪来的 KPI ?
    gam2046
        2
    gam2046  
       2020-01-24 16:58:21 +08:00
    没反编译看过微信,但是根据我自己的开发经验主要来自于资源文件以及 abi 相关的文件,尤其是微信这类应用,出于安全目的,许多业务逻辑并不能使用 Java 编写,而 armeabi-v7a 与 arm64-v8a 这两种常见的 abi,就需要占用双份空间,在安装时,系统会再次根据设备 abi 复制一份 abi 文件到 /data/下,因此相同功能的 abi 就至少需要占用三份空间。
    little_cup
        3
    little_cup  
       2020-01-24 17:15:58 +08:00   6
    原因有很多,试举几例:

    1. 就国内环境而言,由于缺少强制性的兼容标准,任何本该系统提供的基础设施都可能存在埋雷,需要 app 打包自带。
    如图片 /文件选择,MIUI 等曾阉割系统文档框架; WebView,也有无数用户没事干去禁用 /卸载系统组件。

    2. 公司业务逻辑架构本身导致了资源文件重复。如同样用途的图标,可能 native、html 页面各存放一套。如果设计是跟随业务的话,每个业务组可能都维护了独立(但实际上大同小异)的设计资源。

    3. 各种跨平台技术框架本身也会撑大体积。

    4. 有时,由于运营上线需求急迫或运营团队自主操作发布,也会导致的体积浪费。如淘宝和微信的缓存中都曾出现过 . DS_Store 文件


    楼上说的 abi 反倒不是主要问题,国内大部分 app 都只提供了 armeabi-v7a,v8a 可以向下兼容运行,mips、x86 等的手机均已放弃。而在强制要求 64 位支持的 Google Play 市场提供了另行的 aab 支持格式。
    mayx
        4
    mayx  
       2020-01-24 17:25:04 +08:00 via Android
    难道不是 art 的原因吗?
    Tyuans
        5
    Tyuans  
       2020-01-24 18:01:08 +08:00
    看不起我苹果?我 ios 这些国产软件哪个小了?
    ChangQin
        6
    ChangQin  
       2020-01-24 18:05:13 +08:00
    因为手机空间大了啊,256 起步了,app 也跟着大(狗头)
    HuHui
        7
    HuHui  
       2020-01-24 19:07:06 +08:00 via Android
    空间换时间
    nsynet
        8
    nsynet  
       2020-01-24 19:57:09 +08:00
    应该说国内的 app 比较大吧,你看 youtube 等大厂的 app,都十几兆左右.
    AV1
        9
    AV1  
       2020-01-24 20:06:18 +08:00 via Android
    Andy gives, Bill takes away.
    iamwho
        10
    iamwho  
       2020-01-24 20:30:10 +08:00
    “这个游戏才 500MB,肯定没有那些七八 GB 的游戏好玩。”

    我连这种话都听到过。
    azh7138m
        11
    azh7138m  
       2020-01-24 20:55:24 +08:00 via Android
    iOS B 站也 450+M 啊
    Bwoywan
        12
    Bwoywan  
       2020-01-24 21:46:17 +08:00 via Android
    果然 ROM 魔改严重,不得不自己带整个轮子?
    YouTube 等是因为有 gsm ?
    就我的主观感受来说,国产很少调用 webview 的
    gcyrn
        13
    gcyrn  
       2020-01-24 22:30:27 +08:00 via Android
    @nsynet YouTube 应用 100MB 数据 100mb
    wclebb
        14
    wclebb  
       2020-01-24 22:43:33 +08:00 via iPhone
    在 iOS 设置上看:244.9MB
    在 安卓 设置上看:385MB

    不奇怪为什么。
    linghutf
        15
    linghutf  
       2020-01-25 00:02:49 +08:00 via Android
    只要能完成任务,不出问题 ,不管效率怎么样。这就是现状。当年人们偏爱都自由,变成了放任。
    WebKit
        16
    WebKit  
       2020-01-25 00:58:22 +08:00 via Android
    @nsynet YouTube 我手机上也是 268M 啊,他说的是 art 安装后的体积,不是 app 下载时候的体积
    HongJay
        17
    HongJay  
       2020-01-25 01:06:56 +08:00
    都是缓存
    mxalbert1996
        18
    mxalbert1996  
       2020-01-25 16:39:11 +08:00 via Android
    国内应用商店不支持 aab,资源每种 dpi/api 一份,jni 库也每个架构一份,能不大么
    johnnyR
        19
    johnnyR  
       2020-01-26 14:49:41 +08:00
    @Bwoywan 多的呢,QQ 看看,什么个性装扮,头像,会员都是
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5310 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 43ms UTC 08:58 PVG 16:58 LAX 00:58 JFK 03:58
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86