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

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

  •  
  •   Keppel · 98 天前 · 10107 次点击
    这是一个创建于 98 天前的主题,其中的信息可能已经有所发展或是发生改变。
    87 条回复    2024-08-11 20:01:32 +08:00
    Nick
        1
    Nick  
       98 天前
    家族传统
    crc8
        2
    crc8  
       98 天前
    诗山有山勤为径?
    crc8
        3
    crc8  
       98 天前
    @crc8 打错字。诗山有路勤为径
    cbythe434
        4
    cbythe434  
       98 天前
    搞模型推理预测下一个词
    liuidetmks
        5
    liuidetmks  
       98 天前
    真正的小而美,就不应该联网,那才是小而美
    paopjian
        6
    paopjian  
       98 天前   ❤️ 1
    微信这种同一个文件存好几次是怎么成为企业文化了, 会不会是他们用的屎山代码里校验文件相同的代码写错了,导致每次都会新存一遍?据说手机厂商都自己在系统里去优化微信存储了,也是很神奇
    levelworm
        7
    levelworm  
       98 天前 via Android
    好像很少看到对微信系列产品的技术深挖,不知道为什么。
    miaomiao888
        8
    miaomiao888  
       98 天前   ❤️ 5
    开发团队不够协调吧,反正就是你拉一坨我拉一坨各拉各的,微信产品本身没有用户,你以为自己是用户但其实在他们眼里是商品,谁会在乎商品的使用感受呢。
    basncy
        9
    basncy  
       98 天前   ❤️ 1
    Windows 和 Linux 的文件系统不一样. 它在 windows 上解压出来, 会丢失很多信息, 没参考意义,看到的只是表象.
    CodeLaunchur
        10
    CodeLaunchur  
       98 天前
    小而美的基本操作
    sagaxu
        11
    sagaxu  
       98 天前   ❤️ 1
    不自带个浏览器引擎和游戏引擎,都不好意思自称腾讯出品
    DOLLOR
        12
    DOLLOR  
       98 天前
    @paopjian
    据说苹果的文件系统,对完全相同的文件,只会存储一份。
    不过我没验证过,也不知真假。🐶
    RiverMud
        13
    RiverMud  
       98 天前 via iPhone
    @paopjian 据说是 QQ 邮箱的“遗产”,邮箱可不得来一份存一份嘛!
    kyor0
        14
    kyor0  
       98 天前
    里面有个虚幻 5
    ARslince
        15
    ARslince  
       98 天前 via iPhone
    @DOLLOR jin
    ARslince
        16
    ARslince  
       98 天前 via iPhone
    @ARslince 不好意思,误触 点错了
    Rh1
        17
    Rh1  
       98 天前   ❤️ 4
    不是很理解为什么很多用拼音打字的要去使用第三方输入法,我就是想打个字而已要那么多功能干嘛。iOS 就一直用自带,自从换了安卓就一直在用 Gboard ,Windows 里也一直在用系统自带。有和我一样的吗?
    Mqzo
        18
    Mqzo  
       98 天前 via Android
    @Rh1 一样。打字嘛,慢一点就慢一点了。gboard 也可以滑动输入,也可以学词。
    yongSir
        19
    yongSir  
       98 天前
    这就是取舍问题了,想到为了用户安全连接甚至 pc 上普及了扫码登录这种逆天到完全牺牲体验的活儿,结果用户选择了第三方输入,就有一种前方吃紧后方紧吃的即视感 🐶
    wang93wei
        20
    wang93wei  
       98 天前
    都已经 2024 年了,手机存储空间也不比当年了。
    为什么还在有人纠结占用了多少空间?
    我同学习惯删除手机内没用的软件、照片、聊天记录,不喜欢拍照片,他到现在还觉得 64G 就够用了。
    一个仅仅只有 650MB 空间的输入法,却还能被吐槽,也是很不太理解。
    xing3kong
        21
    xing3kong  
       98 天前 via iPhone   ❤️ 2
    @wang93wei 手机空间再大,也不是给他们滥用的
    136178128
        22
    136178128  
       98 天前
    @wang93wei 不是在意他占用空间,而是竞品能做到这么小,而你需要这么大,多出来的到底是在做了什么事情?我觉得标题说得很清楚了。
    ysxb1145
        23
    ysxb1145  
       98 天前 via Android
    @DOLLOR 也没见苹果微信占用小啊,问题是苹果的文件压根看不到
    ysxb1145
        24
    ysxb1145  
       98 天前 via Android
    @Rh1 gboard 语音在大多数不会爬墙的人来说根本没法用
    ma836323493
        25
    ma836323493  
       98 天前
    @wang93wei #20 一个小小输入法占用 650M ,你来一下他来一下, 内存怎么够用。再说你同学的习惯也是极少数
    echoZero
        26
    echoZero  
       98 天前
    需求满足是基本要求,然后才是 优化
    echoZero
        27
    echoZero  
       98 天前
    苹果版本的 地震预警 APP 曾经大小超过 1 个 G
    diivL
        28
    diivL  
       98 天前
    说难听点就是技术不行,产品不过是钱堆出来的
    exmario
        29
    exmario  
       98 天前
    @wang93wei 你不在意存储但在意存储的人很多啊
    shijingshijing
        30
    shijingshijing  
       98 天前
    挺好的,垃圾产品配垃圾用户,还好这玩意不像微信是刚需。
    nanxiaonan
        31
    nanxiaonan  
       98 天前
    @yongSir 扫码登陆这个功能 体验不好吗 我觉得挺好用的啊
    Harharhar
        32
    Harharhar  
       98 天前
    @Rh1 我之前也是只用自带的输入法,直到遇到 mac 自带输入法的 bug

    mac 经常莫名其妙卡死,按 v2 老哥说的方法 kill 掉 mac 自带输入法的进程就恢复了,换第三方输入法后再没出现过...
    这个 bug 好多年了都没修
    libasten
        33
    libasten  
       98 天前
    居然没有超过 1G ?
    Rh1
        34
    Rh1  
       98 天前
    @Harharhar 这么可怕?没用过 mac
    zcybupt2016
        35
    zcybupt2016  
       98 天前
    @Harharhar macOS 14.2 已经修了这个 bug ,可以更一下

    详见: https://www.v2ex.com/t/998097
    kuaner
        36
    kuaner  
       98 天前
    输入法只用原生的就够了
    BigMikey
        37
    BigMikey  
       98 天前 via iPhone
    @DOLLOR #12 是真的,已經驗證過了
    liyanjun
        38
    liyanjun  
       98 天前
    @wang93wei 仅仅只有 650MB 空间的输入法,你这个仅仅加的也是很不太理解
    levelworm
        39
    levelworm  
       98 天前
    最烦的就是和国内交流微信是刚需。让他做大了对消费者来说真是不好。
    hsiaochi
        40
    hsiaochi  
       98 天前
    远离低俗软件 眼不见心不烦
    AFLuo
        41
    AFLuo  
       98 天前
    @Rh1 ios 我一直用自带的,但是 windows 的输入法太笨了
    kamilic
        42
    kamilic  
       98 天前
    终于修了,淦
    126ium
        43
    126ium  
       98 天前 via Android
    @wang93wei 我的手机存储不是卫生间,什么牛鬼蛇神都能来拉一坨
    leegradyllljjjj
        44
    leegradyllljjjj  
       98 天前 via iPhone
    狗产品:短视频,直播,商城都给我弄上!
    pursuer
        45
    pursuer  
       98 天前
    @nanxiaonan 问题不是扫码登录功能体验, 而是有些应用它“只”支持扫码登录
    Gorvery
        46
    Gorvery  
       97 天前 via Android
    @Rh1 主要是系统自带的和 Gboard 在中文的词库推荐或者联想方面做得不是很好,打字效率上会稍微慢一点点,九宫格输入的时候尤为明显
    ke1e
        47
    ke1e  
       97 天前
    安卓上面 Gboard 真的没有微信输入法好用
    SoyaDokio
        48
    SoyaDokio  
       97 天前
    @levelworm #7
    南山必胜客:律师函警告
    bclerdx
        49
    bclerdx  
       97 天前 via Android
    @SoyaDokio 警告了又如何?
    SoyaDokio
        50
    SoyaDokio  
       97 天前
    @nanxiaonan #31 对我这样不喜欢带手机的人而言,体验很差 :(
    kokerkov
        51
    kokerkov  
       97 天前
    @wang93wei
    Fcitx 一个 44MB 的 apk 就可以实现,做了近 15 倍的体积。难道是加了高清材质包?
    Building
        52
    Building  
       97 天前
    import FrameworkA
    import FrameworkA
    import FrameworkA
    Building
        53
    Building  
       97 天前
    开发人员,也不知道怎么回事啊,就差不多

    import FrameworkA
    import FrameworkB
    import FrameworkC
    import FrameworkD

    ...

    builld

    ...

    app size: 650MB

    就是这样
    szpinc1102
        54
    szpinc1102  
       97 天前
    @levelworm 因为微信根本没有值得深挖的技术
    laommmm
        55
    laommmm  
       97 天前
    商品推荐算法,关键词提取,历史搜索数据。。。。。
    以及各厂商打通的广告推荐算法。。。。。等等等等。。。。
    ivvei
        56
    ivvei  
       97 天前 via Android
    就是家族传统吧。微信也是重复文件各种存。既然叫微信输入法,那么自然要有这个特色。 末尾的猜想大概率是想多了,腾讯的开发水平就那样而已
    youyoumarco
        57
    youyoumarco  
       97 天前
    企业微信 更离谱
    GPT6
        58
    GPT6  
       97 天前   ❤️ 1
    又不是不能用
    ButcherHu
        59
    ButcherHu  
       97 天前
    @DOLLOR apfs 确实有去重
    ButcherHu
        60
    ButcherHu  
       97 天前
    600m 不是啥大问题,毒性不强。
    最毒的是微信转发文件会复制一份,我人都傻了。
    ivvei
        61
    ivvei  
       97 天前 via Android   ❤️ 1
    @ButcherHu 因为张小龙是做 foxmail 出身的,走的邮件逻辑。邮件你转发附件就是复制一份嘛
    ButcherHu
        62
    ButcherHu  
       97 天前
    @ivvei 感觉很有道理,我有点适应这个设定了 lol ,这样还没有一致性问题
    songunity
        63
    songunity  
       97 天前
    就是水平不行
    jasonmao0
        64
    jasonmao0  
       97 天前
    最近手机和电脑刚刚改用了微信输入法,主要是消费降级手机从苹果换成了安卓,电脑用 mac 习惯了,微信输入法能在不同设备之间直接复制粘贴,感觉正好命中我的需求就使用了
    xausky
        65
    xausky  
       97 天前
    其实从程序员的角度来说,这种情况的出现还是有可能的,虽然确实是程序垃圾,到也不需要黑暗猜想。
    以下是程序员角度的出现这种问题的猜想:
    1. 这几个资源文件就是设计为可以热更新的,UP 使用时间不长或者 APK 太新就还没有热更
    2. resource.apk 就是热更新包,应用启动后直接下载了最新版本更新包,这里偷懒没有对比和本地 apk 中版本是否一致
    3. 用户数据中的重复文件就是从 resource.apk 解压出来的,这里偷懒解压后没有删除 resource.apk

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

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

    https://rime.im/download/
    wanwaneryide
        77
    wanwaneryide  
       97 天前
    @wang93wei 很多人都是因为手机内存不够用了,被逼着换手机的。
    shijingshijing
        78
    shijingshijing  
       97 天前
    @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
        79
    zachary99  
       97 天前 via Android   ❤️ 1
    还好吧,我记得 gboard 也要 400 多兆,微信输入法比 gboard 功能多太多了,我就是受不了 gboard 的联想和词库,才用的微信输入法
    lihaohenqiang
        80
    lihaohenqiang  
       96 天前 via iPhone
    小而美×
    臃而肿√
    shintendo
        81
    shintendo  
       96 天前
    我用微信输入法的原因:它是市面上还在维护的 PC 输入法里唯一有多行候选的
    bytealan
        82
    bytealan  
       96 天前
    @Rh1 #17 表情包中毒爱好者 他能帮我直接搜表情包发出去
    Rh1
        83
    Rh1  
       96 天前
    @bytealan 哦,那就算刚需了
    kokerkov
        84
    kokerkov  
       96 天前
    @jasonmao0 不知道 mac 下是不是唯一的。win 下至少有 kde-connect 和微软的手机应用两种替代。
    Cybrox
        85
    Cybrox  
       95 天前
    @DOLLOR 这是苹果的 APFS 文件系统的功能,但是它并不是“完全相同的文件,只会存储一份”,而是“同一个文件的拷贝只会存储一份”。也就是说你从网上下载 N 份相同的文件,因为它们之间并不是“拷贝”的关系,所以依然会存储 N 份
    youshangdemajia
        86
    youshangdemajia  
       95 天前
    其实大公司的代码一样可以很垃圾,尤其是那些没有 code review 传统的公司。每个人都是随意提交,随意修改,质量参差不齐,总体上能不差吗?
    外表能用就行了,底层管它的。
    unidotnet
        87
    unidotnet  
       94 天前
    你们觉得垃圾我觉得挺好的,微信输入法刚出来的时候就用了,主要是 1.无广告 2.我打字的习惯错别字少 3.macOS 下不卡机 4.多设备同步(这点不是很重要)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3762 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 04:16 · PVG 12:16 · LAX 20:16 · JFK 23:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.