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

2020-01-24 16:47:11 +08:00
 neteroster

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

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

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

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

谢谢大家。

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

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

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

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

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


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

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

不奇怪为什么。
linghutf
2020-01-25 00:02:49 +08:00
只要能完成任务,不出问题 ,不管效率怎么样。这就是现状。当年人们偏爱都自由,变成了放任。
WebKit
2020-01-25 00:58:22 +08:00
@nsynet YouTube 我手机上也是 268M 啊,他说的是 art 安装后的体积,不是 app 下载时候的体积
HongJay
2020-01-25 01:06:56 +08:00
都是缓存
mxalbert1996
2020-01-25 16:39:11 +08:00
国内应用商店不支持 aab,资源每种 dpi/api 一份,jni 库也每个架构一份,能不大么
johnnyR
2020-01-26 14:49:41 +08:00
@Bwoywan 多的呢,QQ 看看,什么个性装扮,头像,会员都是

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/640162

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX