首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
阿里云
neteroster
V2EX  ›  问与答

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

  •  1
     
  •   neteroster · 67 天前 · 3006 次点击
    这是一个创建于 67 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    谢谢大家。

    19 条回复    2020-01-26 14:49:41 +08:00
    kaedea
        1
    kaedea   67 天前 via Android
    不加体积哪来的 KPI ?
    gam2046
        2
    gam2046   67 天前
    没反编译看过微信,但是根据我自己的开发经验主要来自于资源文件以及 abi 相关的文件,尤其是微信这类应用,出于安全目的,许多业务逻辑并不能使用 Java 编写,而 armeabi-v7a 与 arm64-v8a 这两种常见的 abi,就需要占用双份空间,在安装时,系统会再次根据设备 abi 复制一份 abi 文件到 /data/下,因此相同功能的 abi 就至少需要占用三份空间。
    little_cup
        3
    little_cup   67 天前   ❤️ 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   67 天前 via Android
    难道不是 art 的原因吗?
    Tyuans
        5
    Tyuans   67 天前
    看不起我苹果?我 ios 这些国产软件哪个小了?
    ChangQin
        6
    ChangQin   67 天前
    因为手机空间大了啊,256 起步了,app 也跟着大(狗头)
    HuHui
        7
    HuHui   67 天前 via Android
    空间换时间
    nsynet
        8
    nsynet   67 天前
    应该说国内的 app 比较大吧,你看 youtube 等大厂的 app,都十几兆左右.
    DOLLOR
        9
    DOLLOR   67 天前 via Android
    Andy gives, Bill takes away.
    iamwho
        10
    iamwho   67 天前
    “这个游戏才 500MB,肯定没有那些七八 GB 的游戏好玩。”

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

    不奇怪为什么。
    linghutf
        15
    linghutf   66 天前 via Android
    只要能完成任务,不出问题 ,不管效率怎么样。这就是现状。当年人们偏爱都自由,变成了放任。
    WebKit
        16
    WebKit   66 天前 via Android
    @nsynet YouTube 我手机上也是 268M 啊,他说的是 art 安装后的体积,不是 app 下载时候的体积
    HongJay
        17
    HongJay   66 天前
    都是缓存
    mxalbert1996
        18
    mxalbert1996   66 天前 via Android
    国内应用商店不支持 aab,资源每种 dpi/api 一份,jni 库也每个架构一份,能不大么
    johnnyR
        19
    johnnyR   65 天前
    @Bwoywan 多的呢,QQ 看看,什么个性装扮,头像,会员都是
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3242 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 13:12 · PVG 21:12 · LAX 06:12 · JFK 09:12
    ♥ Do have faith in what you're doing.