今天看了一个视频:《离谱!占据 650MB 空间的微信输入法,到底装了啥?》,能从技术角度分析这么做的原因吗?

152 天前
 Keppel

视频链接: https://www.bilibili.com/video/BV16B4y1n7wy/

10378 次点击
所在节点    程序员
88 条回复
ivvei
151 天前
@ButcherHu 因为张小龙是做 foxmail 出身的,走的邮件逻辑。邮件你转发附件就是复制一份嘛
ButcherHu
151 天前
@ivvei 感觉很有道理,我有点适应这个设定了 lol ,这样还没有一致性问题
songunity
151 天前
就是水平不行
jasonmao0
151 天前
最近手机和电脑刚刚改用了微信输入法,主要是消费降级手机从苹果换成了安卓,电脑用 mac 习惯了,微信输入法能在不同设备之间直接复制粘贴,感觉正好命中我的需求就使用了
xausky
151 天前
其实从程序员的角度来说,这种情况的出现还是有可能的,虽然确实是程序垃圾,到也不需要黑暗猜想。
以下是程序员角度的出现这种问题的猜想:
1. 这几个资源文件就是设计为可以热更新的,UP 使用时间不长或者 APK 太新就还没有热更
2. resource.apk 就是热更新包,应用启动后直接下载了最新版本更新包,这里偷懒没有对比和本地 apk 中版本是否一致
3. 用户数据中的重复文件就是从 resource.apk 解压出来的,这里偷懒解压后没有删除 resource.apk

就是这两次偷懒导致出现了三份一样的文件,应用大小也不是任何人的 KPI 所以没有任何人关系这件事
Mandelo
151 天前
@Rh1 #17 热词,网络流行词,专业词汇系统打的太慢了
leconio
151 天前
放了个模型?猜你想打?哈哈
W4J1e
151 天前
@Rh1 恰好最近又很关注输入法,并且前几周体验了 Gboard ,上上次体验还是十年前。
不得不说 Gboard 真的很干净和纯粹,不富强也不下载离线语音包的情况下竟然能语音输入。
一开始用 26 键,因为它强大的纠错,觉得甚至可以盲打,非常舒服。但是后来才发现,它偶尔会夹杂一些数字在其中,就导致后面打的都不对,只能按删除(不是一键重输);还有标点符号缺失,比如中文的书名号,省略号等。
干净是干净,但是我不太能习惯。
iutopia
151 天前
@RiverMud 那就不奇怪了。张小龙最新开发的就是 foxmail=>>qq 邮箱=>>微信
loading
151 天前
微信消息框,删除聊天在本地是真删除还是本地数据库标记,我只想知道一下这个。
Tlvncks
151 天前
@wang93wei #20 大部分月薪两三千块钱的叔叔阿姨们的手机都是千元机,并且还都用了三五年,他们手机内存并不像年轻人这么好。
levelworm
151 天前
@loading 有时候删除完了存储空间能够多一点出来,我估计是真删除。
fpk5
151 天前
@wang93wei #20 如果我没记错 windows xp 的 iso 镜像也就是 600MB 左右
muapyw
151 天前
这些国产 3A 没有一个不辣鸡的,百度,字节,快手,阿里,腾讯

空间占用多,内存占用夸张,一个短视频 app ,刷视频内存占用能高达 4G
jim9606
151 天前
1. app 本身自更新困难是这样的,至少目前看膨胀的都是非可执行的代码,模型词库有热更能力相当合理,想不留垃圾的话,你要有能力天天发版静默更新,那可以不做热更的
2. 存放 apk 里解压的资产,可能是处于性能考虑,依靠系统实时解压有开销
3. 不能将 apk 解压缩的体积理解为安装体积,全新安装增加的体积来自原生库解压和 dexoat ,虽然可以设置 extractNativeLibs=false 来避免前者的原生库解压开销(但会使 apk 显著变大),但好像不管国内外的 app 都很少这么干,可能是有次生 bug ,或者觉得这是负优化?
4. 拿游戏来对比喷,很难评,游戏带废弃资产更常见,不然咋那么多扒资产的例子,另外游戏有非常合理的理由用空间换性能
5. 一跟机器学习模型扯上关系就别想省存储空间了,不费空间的是云服务
akiyamaakira
151 天前
所以这个时候开源就派上用场了: https://github.com/osfans/trime/releases

https://rime.im/download/
wanwaneryide
151 天前
@wang93wei 很多人都是因为手机内存不够用了,被逼着换手机的。
shijingshijing
150 天前
@loading 标记,而且悄悄告诉你,虽然苹果 APFS 支持冗余文件检测,但是其实在微信里面,仅限于你同时将一份文件发送给 N 个人这一个场景。其他场景,比如你加了四五个群,每个群里都收到别人转的同一段聊天记录,这个聊天记录只是单纯的转发,里面所有的文字、图片、视频在微信里面都会单独保存一份。iOS 系统下是保存在 OpenData 目录下,比如/private/var/mobile/Containers/Data/Application/FF43CB78-C20B-885B-2AE2-A45DEB5AEB45/Documents/91pebwp1dwoj6lhrdyz4ya65/OpenData/h6121m3rx17yjsq7w06f9aaf/1.avi
其中,FF43CB78-C20B-885B-2AE2-A45DEB5AEB45 是微信 App 的 UUID ;
91pebwp1dwoj6lhrdyz4ya65 是你的 ID ;
h6121m3rx17yjsq7w06f9aaf 是群的 ID 。

此外,公众号给你发送的那种带图文的内容,你也是无法删除的;所有的缩略图,你均无法通过微信本身删除,一张图片至少会有两张缩略图,分别是聊天记录里面你没点开时的预览缩略图,你在批量预览所有图片时,生成的那种小筐缩略图。此外,如果不幸你的朋友或者你加的群里有人总是喜欢发原图,那么微信还会贴心的给你把原图保存成 IMG2828_HD.dat 这种图片,然后给你弄个压缩后的 IMG2828.dat 图。
zachary99
150 天前
还好吧,我记得 gboard 也要 400 多兆,微信输入法比 gboard 功能多太多了,我就是受不了 gboard 的联想和词库,才用的微信输入法
lihaohenqiang
150 天前
小而美×
臃而肿√

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

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

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

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

© 2021 V2EX