V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
工单节点使用指南
• 请用平和的语言准确描述你所遇到的问题
• 厂商的技术支持和你一样也是有喜怒哀乐的普通人类,尊重是相互的
• 如果是关于 V2EX 本身的问题反馈,请使用 反馈 节点
mason961125
V2EX  ›  全球工单系统

微信 for macOS,你凭什么占用我这么多内存?

  •  
  •   mason961125 · 2017-12-30 22:30:49 +08:00 · 16065 次点击
    这是一个创建于 2553 天前的主题,其中的信息可能已经有所发展或是发生改变。

    看看人家 Chrome,名声在外的吃内存大户都没你占的多;你家兄弟 QQ for macOS 也没你多,你哪来的本事用这么多?

    行,压缩前 912.7 MB 的内存用量,压缩后 811.8 MB 的内存用量。什么意思?意思就是这 811.8MB 的内存都是你一直在用的,macOS 没办法换出到硬盘来压缩内存。你一个 IM 凭什么时时刻刻要用 811.8M 内存?

    不说你产品好不好,就说说运行时候的表现。难听的话不想说,你们 Code Review 的时候在干吗? Code Review 过了之后 Profiling 的时候在干吗?

    60 条回复    2018-12-25 23:45:18 +08:00
    chenqh
        1
    chenqh  
       2017-12-30 22:36:33 +08:00
    看到了 slack,兄弟在国外?
    mason961125
        2
    mason961125  
    OP
       2017-12-30 22:39:20 +08:00
    @chenqh 国内,小团队 Slack 还行...
    syy
        3
    syy  
       2017-12-30 22:50:03 +08:00
    内存 1.9G 压缩后的内存一模一样的 811.8MB 吓一跳
    mason961125
        4
    mason961125  
    OP
       2017-12-30 22:53:51 +08:00
    @syy 但愿是个巧合吧...
    luzihang
        5
    luzihang  
       2017-12-30 23:04:29 +08:00
    供参考
    ![]( )
    flynaj
        6
    flynaj  
       2017-12-30 23:06:53 +08:00 via Android
    那个微信内核就是 chrome,单进程所以就是这么多
    maemual
        7
    maemual  
       2017-12-30 23:11:32 +08:00
    我是 400M,比 Telegram 少一点。。。
    Stevenv
        8
    Stevenv  
       2017-12-30 23:21:39 +08:00
    会疯狂吃完所有内存。。
    WeaPoon
        9
    WeaPoon  
       2017-12-30 23:50:33 +08:00
    这个内存使用多少比例还有个前提,就是你的好友数量和群数量比较少的前提下用这么多值得吐槽.如果几千好友几百个群还都是热聊的状态就比较难说了.
    mason961125
        10
    mason961125  
    OP
       2017-12-31 00:15:11 +08:00
    @WeaPoon 今天一天就和一个好友聊过天,基本处于没人说话的状态,没有群聊。
    ittianyu
        11
    ittianyu  
       2017-12-31 00:18:16 +08:00
    吓得我赶紧打开管理器看了一下,还好只有 35M,穷逼 windows 狗路过。2333333
    icyalala
        12
    icyalala  
       2017-12-31 00:52:55 +08:00
    我也测试了下,刚打开微信占内存 200M,看了几个公众号到了 400M,再看了几个群聊就到 600M,之后就涨得不多了。拿 Instruments 看了下。。貌似大部分都是图片解压后的内存和 layer draw 用到的内存。。
    autoxbc
        13
    autoxbc  
       2017-12-31 01:47:17 +08:00
    「不要写垃圾代码,即使它跑在别人的电脑上」
    https://zhuanlan.zhihu.com/p/27827321
    randyzhao
        14
    randyzhao  
       2017-12-31 03:04:29 +08:00
    额。。。是的,不仅占内存。。。还吃硬盘。。。还不提供清理的功能。。。
    coderwen
        15
    coderwen  
       2017-12-31 03:33:45 +08:00 via iPhone
    我会告诉你这货上次内存泄露把我 32G 吃完了害我重启😱
    shadowwalker2644
        16
    shadowwalker2644  
       2017-12-31 03:39:22 +08:00 via Android
    还不如用 electron 开发
    mxalbert1996
        17
    mxalbert1996  
       2017-12-31 03:46:08 +08:00 via Android
    看了一下我的 Windows 版微信只有 23.5M ,这对比一下简直不要太良心。。。
    Coda
        18
    Coda  
       2017-12-31 03:57:17 +08:00
    @randyzhao 同感!我现在直接用网页了
    randyzhao
        19
    randyzhao  
       2017-12-31 04:23:23 +08:00
    @Coda 2333 好久没用过网页了,明天试试看。好用的话我也抛弃客户端算了。
    lunacory
        20
    lunacory  
       2017-12-31 05:59:43 +08:00
    应该和 App 开启后持续的时间、开启后的聊天记录量有关系吧
    我这里开了 2 天多才这么点

    janxin
        21
    janxin  
       2017-12-31 07:15:24 +08:00 via iPhone
    如果我没记错微信的大部分功能都是本地代码的,除了 UI。基本上跟你的群聊情况比较大,有没做好内存管理。(直接用的 OC 的管理都有可能

    @shadowwalker2644 你是觉得死得不够快吗 23333
    qdwang
        22
    qdwang  
       2017-12-31 07:23:33 +08:00 via iPhone
    微信说,你爱用不用。

    我作为一个现代 im,尽管各种不好用,但你还不是照样得用。
    lulinux
        23
    lulinux  
       2017-12-31 08:12:40 +08:00 via Android   ❤️ 1
    pc 时代的流氓手段是弹出无穷窗口。智能手机时代的流氓手段是扩大 app 体积占用手机内存空间。
    winglight2016
        24
    winglight2016  
       2017-12-31 08:57:23 +08:00
    @luzihang 我这里压缩之后的内存几乎全部都是零,个别是几百字节到几兆的样子。。。

    @lunacory 我的列表跟你的差不多,不过,微信都没有排到前 10 内
    justicelove
        25
    justicelove  
       2017-12-31 09:46:44 +08:00
    昨天查看 mac 微信占了我接近 2G 的内存,吓得我赶紧关了重开。不知道是不是缓存了所有增量的聊天记录,图片
    linkdesu
        26
    linkdesu  
       2017-12-31 10:11:42 +08:00
    微信的用户体验真不如 tg,哎,不过你妈用它,你爸用它,你领导也用它还有什么办法~
    stanjia
        27
    stanjia  
       2017-12-31 10:13:02 +08:00
    马: a y b y b y g
    g5
        28
    g5  
       2017-12-31 10:14:02 +08:00 via Android   ❤️ 1
    所以应该给某些开发配垃圾电脑,要不他们体会不到卡
    ivechan
        29
    ivechan  
       2017-12-31 11:04:23 +08:00
    @shadowwalker2644 微信不是用的 electron 吗?
    JiangVoid
        30
    JiangVoid  
       2017-12-31 11:17:54 +08:00 via Android
    所以我从不用 Mac 版的微信,还不如网页版。
    mikulch
        31
    mikulch  
       2017-12-31 11:29:58 +08:00
    我是真想用 slack 的。
    vvdvdsv
        32
    vvdvdsv  
       2017-12-31 11:46:20 +08:00
    因为你不得不用,over
    bookit
        33
    bookit  
       2017-12-31 11:49:41 +08:00
    现在没人用心做原生程序了,糙快猛凑合就行,

    用时髦技术工资还高
    blahgeek
        34
    blahgeek  
       2017-12-31 12:25:24 +08:00 via iPhone
    压缩后的内存 和 swap 不是一个意思… 就是指“压缩”的意思 还是在 RAM 里
    Ehco1996
        35
    Ehco1996  
       2017-12-31 12:36:27 +08:00
    不知道为啥,我 mac 版微信只用了 80+m 内存

    ![]( http://opj9lh0x4.bkt.clouddn.com/17-12-31/16276502.jpg)
    ohiu
        36
    ohiu  
       2017-12-31 12:37:34 +08:00
    @linkdesu IM 里 tg 太过于标杆,不是微信追不追的上问题
    agoodob
        37
    agoodob  
       2017-12-31 12:41:22 +08:00
    而且打开微信"表情"的选择窗口时不时会卡死,只能强制关闭……
    0x5e
        38
    0x5e  
       2017-12-31 13:15:58 +08:00
    占用 2.85g ,压缩后 2.65g ,线程 26,端口 20,062,卧槽
    neutron
        39
    neutron  
       2017-12-31 13:23:50 +08:00
    占内存多一点我都忍了
    在我电脑上微信里面打字都比较慢,回车之后至少有小半秒的时间才会发出去

    搞得 4c8t 16G 像是在吃屎一样
    zhidian
        40
    zhidian  
       2017-12-31 13:25:27 +08:00
    有多余内存干嘛不用? 又不是 CPU 给你爆了...
    picone
        41
    picone  
       2017-12-31 13:27:49 +08:00

    喔就笑笑
    不过微信很多天不重启的确有 800M...
    046569
        43
    046569  
       2017-12-31 14:19:54 +08:00


    这个不是更可怕,赶紧给开发商报 bug 去了.
    szetrov
        44
    szetrov  
       2017-12-31 14:24:44 +08:00
    有什么好的解决办法么?我见过有的人把 wechat 卸掉然后拿 chrome 登录网页端 wechat,消息提醒什么的做的都不错,但就是总觉得在功能上网页端比客户端是不是少点什么。
    Uni9k
        45
    Uni9k  
       2017-12-31 14:38:12 +08:00
    ![image]( https://i.loli.net/2017/12/31/5a4885a10b59a.png)
    我聊了一上午了 貌似正常
    freestyle
        46
    freestyle  
       2017-12-31 14:40:04 +08:00
    WindowServer 怎么了
    neutron
        47
    neutron  
       2017-12-31 14:50:52 +08:00
    @szetrov 不能直接贴图是硬伤
    whitefable
        48
    whitefable  
       2017-12-31 14:51:05 +08:00
    默默打开自己 windows 上的一看居然才用掉不到 50M 相比之下简直 hhhhhhhhhhhhhhhh
    xuhaoyangx
        49
    xuhaoyangx  
       2017-12-31 16:04:50 +08:00
    NSAtools
        50
    NSAtools  
       2017-12-31 16:22:06 +08:00
    长时间不重启+聊天记录多,就没见过低于 1G 的
    darrh00
        51
    darrh00  
       2017-12-31 16:23:30 +08:00
    chrome 那么多进程呢, 你就算一个进程,就说比微信少?
    1ychee
        52
    1ychee  
       2017-12-31 22:06:40 +08:00
    现在动不动就是 1 ~ 2GB... 我们团队用 Slack ... 也是吃内存啊。。
    mason961125
        53
    mason961125  
    OP
       2017-12-31 22:38:45 +08:00
    @1ychee 用 Electron 开发的 App,应该是逃不掉吃内存这个问题了...
    mason961125
        54
    mason961125  
    OP
       2017-12-31 22:42:23 +08:00
    @darrh00 单一进程的内容也不必微信少阿。
    mason961125
        55
    mason961125  
    OP
       2017-12-31 22:44:50 +08:00
    @icyalala 没装 Xcode,如果真的是这样的话,那就是大量的内存泄露没跑了。但是我觉得这种处理方式有问题阿,macOS 普遍用 SSD 的情况下,即使释放掉内存里的内容,从硬盘读取 cache 的速度也不会很慢阿。
    1ychee
        56
    1ychee  
       2017-12-31 22:44:58 +08:00   ❤️ 1
    @mason961125 #53 然后被开发吐槽 ;-D

    看上去 Slack 应该是永远不会出原生应用了...
    mason961125
        57
    mason961125  
    OP
       2017-12-31 22:49:58 +08:00
    @ivechan 微信 for macOS 用的还真不是 Electron。
    mason961125
        58
    mason961125  
    OP
       2017-12-31 22:51:41 +08:00
    @blahgeek 我说的好像没问题吧...压缩后的内存就是他还在使用的,也就是还在内存里的。
    yao990
        59
    yao990  
       2018-01-08 21:29:49 +08:00
    我的 windows 版本,占用内存到还好,但是他随时都在读 /写硬盘。。。比如我有一次开启了火绒的“改变即扫描”功能,就是当任意一个文件发生改变的时候,火绒就去扫描该文件,结果微信直接卡到没法用,最后不得不关了这个功能。

    另外一件事,最近清理电脑空间,发现微信的文件夹 23GB,没错,是二十三吉比特!
    helloworld000
        60
    helloworld000  
       2018-12-25 23:45:18 +08:00
    Electron 有时候会自己掉线,不知道是不是海外的原因
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1014 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 21:28 · PVG 05:28 · LAX 13:28 · JFK 16:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.