为什么微信占用的内存那么大?
我一个没加什么人的号只是平时浏览公众号用的都占了将近2个G
1)很少用微信。
但记得微信并没有云端存储漫游功能,全是交给本地用户的设备点对点的加密到sqlite里,缓存所有的公众号、朋友圈的图片、视频。腾讯为了缓解他的服务器资源,增加用户负担。后面机制难以清理干净,占用的手机空间会越来越臃肿,而用户想备份迁移重要的记录都是麻烦事。一加载聊天记录内存就肯定就大涨了。
2)微信自研了一个APM程序,是对应用系统进行实时监控的软件。官方介绍是SQLite 操作优化,帧率变化,文件读写性能,底层(ndk)的一些错误日志等。内存占用不清楚,空间占用500多MB。这些是网上资料。
3)微信的自身加载的小程序非常多,有人说这是丰富了用户的体验,但对于不需要这些功能的用户,是会增加设备的负担,至于腾讯软件的技术建设,这领域不熟悉,引用一位知乎码农的评价
来源:(墙内网站慎点↓)
https://www.zhihu.com/question/278473776
体验是不是世界顶尖水准?综合以上就仁者见仁了。
但记得微信并没有云端存储漫游功能,全是交给本地用户的设备点对点的加密到sqlite里,缓存所有的公众号、朋友圈的图片、视频。腾讯为了缓解他的服务器资源,增加用户负担。后面机制难以清理干净,占用的手机空间会越来越臃肿,而用户想备份迁移重要的记录都是麻烦事。一加载聊天记录内存就肯定就大涨了。
2)微信自研了一个APM程序,是对应用系统进行实时监控的软件。官方介绍是SQLite 操作优化,帧率变化,文件读写性能,底层(ndk)的一些错误日志等。内存占用不清楚,空间占用500多MB。这些是网上资料。
3)微信的自身加载的小程序非常多,有人说这是丰富了用户的体验,但对于不需要这些功能的用户,是会增加设备的负担,至于腾讯软件的技术建设,这领域不熟悉,引用一位知乎码农的评价
整个腾讯的核心问题其实非常明显:没有CTO,没有人抓技术,因此导致了多个问题。
1.无人牵头:没有人拉通整个公司的技术,TEG难以对内做技术输出,每个部门都搞一套自己的轮子,费时费力,且不说代码质量往往糟糕挺顶,而且部分部门沉迷于造几年前别人造过的轮子,乐在其中,不可自拔,却连几年前的水平都达不到。
2.没有规范:大部分BG的代码,包括内部开源的代码,很多跑个代码规范就会出数以百记的error/warning,令人发指,初来腾讯时曾经接手过一个服务,靠着检查代码规范就修了十来个以前没有人搞明白的bug.
3.不受重视:普通的后天部门的技术成长是不受大老板重视的,可能一年大老板会提个一到两句,讲讲Google/FB是怎么样的,Amazon那种做法不行,而我们应该要怎么样怎么样,如而讲完了老板自己也当耳边风了。毕竟不用说写代码,看代码的老板(甚至到总监、组长级别)都研究是珍稀动物了。
4.强烈呼吁:也因此,内网对tony就像当年百度对陆奇一样,大家其实早已翘首以盼,希望有一个人从来主持大局,一方面能够让技术更受重视。另一方面把整个腾讯内部体系做的更强健,能够让各个部门走的更快些。
腾讯的技术债务非常沉重,这里举一些例子。
1.SVN主导:绝大部分的代码都在SVN上,各个系统对GIT支持的非常有限。
2.内部平台buggy:很多内部平台做的非常buggy,做一个事情可能要推动平台解决数十个bug。
3.C++标准落后:某些部门的服务编译还只支持C++98
4.运维表示:升了级以后不就是写代码方便点吗,不升级能不能实现这个功能,如果能,拿不就是多几行代码的事情,为什么要升级?
5.官方回答:升级编译器会影响系统稳定性,那么我们就不升级了。
6.编译羸弱:服务间的协议几乎全靠手动传递,编译环境非常羸弱
7.代码奇差:大部分的代码写的非常糟心,冗余度极高,曾经见过2000行的函数,大约有20层if-else,改一个小细节要改函数里的十几个地方。非常想送作者依仗机票让他去见见Linus。
8.没有开源:几乎所有的基础框架没有内部开源,如果有,也是几年前的阉割版,象征性开源。
9.难寻文档:现在接口名都变了。而写KM的人研究离职了,经过了不知几楼问到了对应的人,他不知是从哪(裤)儿(档)掏出了一份陈年word文档。
10.绝不共享:部门与部门之间能不一起做的事情就不一起做,代码、架构共享更是想都不用想。
除了以上这些问题,更不要说代码同步、不同环境的协同、数据传递等等问题了,太多糟心的事情,没与一个领头人来处理,也很可能并不会有人来处理。腾讯有没有梦想我不敢说,但技术建设真是太TM糟心了。
技术建设的不足,会导致许多同学「浪费生命」去做很多基础性的事情,而技术建设好则可以显著提升研发效率,能够让大家愉悦的去做有创新性的事情。
当然,技术建设和用户体验完全是两码事,腾讯的用户体验一直是世界顶尖水准。
来源:(墙内网站慎点↓)
https://www.zhihu.com/question/278473776
体验是不是世界顶尖水准?综合以上就仁者见仁了。
很多人貌似都不了解微信是怎么运作的,首先它是一个浏览器程序,那些所谓的公众号,微信上的小应用,本质都是网页,不过微信不让你看到网址而已。聊天功能我猜测也采用的web技术,不排除用native模块的可能。微信是一个永不删除cookies,并将你的所有浏览记录统统发送腾讯服务器中转的浏览器程序。
至于为什么浏览器这么吃内存,主要是web标准的太复杂,导致真正实现的浏览器程序屈指可数,而且实现都很糟糕,都存在巨量bug,所以现在的浏览器都采用多进程架构,为了减少威胁。
至于为什么标准越来越复杂?
1. 为了不断满足人们新的"需求"
2. 复杂的标准难以单独实现,所以可以被大公司掌控。
事实正是如此,甚至现在制定标准的成员里很多都是这些大公司的人。
3. 摩尔定律保证硬件性能越来越强,所以浏览器可以变得越来越臃肿,而不被人发现。
不过似乎程序变臃肿的速度已经超过了硬件性能提升的速度,所以这点已经有些不能成立。
所以微信的性能上限是同设备的浏览器性能,又由于微信有很多额外功能,比如实时监控,性能只会更糟。
另外,几位回答中说微信几十G内存的搞错了,内存与外存是不一样的概念,内存是指程序运行时占用的设备“短暂记忆体”的数据量,一般1G其实就已经很多了。
至于为什么浏览器这么吃内存,主要是web标准的太复杂,导致真正实现的浏览器程序屈指可数,而且实现都很糟糕,都存在巨量bug,所以现在的浏览器都采用多进程架构,为了减少威胁。
至于为什么标准越来越复杂?
1. 为了不断满足人们新的"需求"
2. 复杂的标准难以单独实现,所以可以被大公司掌控。
事实正是如此,甚至现在制定标准的成员里很多都是这些大公司的人。
3. 摩尔定律保证硬件性能越来越强,所以浏览器可以变得越来越臃肿,而不被人发现。
不过似乎程序变臃肿的速度已经超过了硬件性能提升的速度,所以这点已经有些不能成立。
所以微信的性能上限是同设备的浏览器性能,又由于微信有很多额外功能,比如实时监控,性能只会更糟。
另外,几位回答中说微信几十G内存的搞错了,内存与外存是不一样的概念,内存是指程序运行时占用的设备“短暂记忆体”的数据量,一般1G其实就已经很多了。
你平時群裏聊天接收到的表情包,照片都會下載到你手機上;
你點開朋友圈的視頻,九宮格照片都會被它自動下載到你手機上;
同理,你關注的公衆號的文章,裏面的照片和GIF也會下載到你手機上;
現在再加個影音號……
微信的社交功能越多,其占用的空間就越大。以上説法是客觀從使用App的角度説的。
你點開朋友圈的視頻,九宮格照片都會被它自動下載到你手機上;
同理,你關注的公衆號的文章,裏面的照片和GIF也會下載到你手機上;
現在再加個影音號……
微信的社交功能越多,其占用的空間就越大。以上説法是客觀從使用App的角度説的。
公众号可以用RSS订阅,这样就不需要上了。
另外这个视频可能有关
https://www.youtube.com/watch?v=GoNjJuBS7DE
TuTulifestyle
【微信】如何备份“一转没”的微信文章 我潜心研究总结出了这些方法||How to back up a "one turn lost" WeChat article?
另外这个视频可能有关
https://www.youtube.com/watch?v=GoNjJuBS7DE
TuTulifestyle
【微信】如何备份“一转没”的微信文章 我潜心研究总结出了这些方法||How to back up a "one turn lost" WeChat article?
前天清理电脑,光微信就占了60多G。微信对软件空间管理的优化比qq差多了。

現在的開發者,以為人均內存有32G。
其實我覺得微信主要是一些小程序導致的。那個地方有不少沙雕開發者。
其實我覺得微信主要是一些小程序導致的。那個地方有不少沙雕開發者。