主流大软件的重构和减肥策略

王志勇 发表于 2021年04月01日 09:33

昨天聊到迅速臃肿的微信,现在安装文件已经增长到175MB。软件新安装时,会占用/data/data/com.tencent.mm目录1G多的空间。这个微信的安装文件,现在以每年30MB~50MB的速度在增长,所以明年会达到215MB,后年会达到255MB左右,以此类推……

过去腾讯曾经做出一个非常有远见的策略,大约在2006年推出了IM软件(好像后来又改名为TM),深受用户的欢迎。因为当时的主流新电脑CPU是在845平台下,连945平台还没有出,845平台运行QQ当时稍微有一点点卡。也许腾讯正是看到那时候还有很多用户的电脑、单位的电脑是845平台以下的配置(那时候的电脑很昂贵),所以推出了流畅版的QQ:IM。

恰好我的电脑运行QQ一直比较流畅,所以只是偶尔用一下IM。

当时的IM的设计思路,正是主流软件重构的思路。就是原有的主版本,保持不动,继续更新、发展用户。同时,从0编写一个新版本,与主版本同时在线运行。这个新版,和主版本调用相同的服务器数据端口。

这种重构策略,有多个好处:

一是不影响主版本的用户体验,喜欢主版本的用户,依然使用主版本;

二是新的重构版本,一定会惊人地流畅。因为现在的主流APP,也包括现在的很多网站平台,都是大团队协作,里面的无效的旧代码、模块,开发者都是不敢删除的,这造成了每个主流APP里都有80%以上,甚至90%以上的冗余代码(垃圾代码),还有很多影响手机速度的特效(这些应该尽量抛弃)。

三是当重构版本经过多年,也变臃肿了,这时可以再次从0重构,同时主版本依旧不动。

四是当主版本臃肿到一定程度,比如当微信主版本的安装包达到500MB以上(大约7年以后),这时候的重构版本已经发展很成熟了,由这个重构版本来替换掉主版本。

然后再重新发展一个新的重构版本,往复循环……

只有这样,才能彻底解决很多臃肿的APP。

重构新版本万一出现bug,一些功能不正常怎么办?
这很正常,总比使用那些越来越臃肿的主版本要好得多。
比如微信,我现在有一台手机还在用几年前的微信6.3.13,十分流畅,里面有好几个常用功能已经无法用,但基本功能正常。(这台手机一旦刷机,就不能登录微信6.3.13了。)

软件有些功能不能用,是正常现象。

APP的非良性循环
这些年,各平台为了争夺用户,全都开发了APP。甚至原来是web平台,也关闭了web平台,转向APP,例如闲鱼,前几年只有网页版。

绝大多数的APP的功能,都可以用电脑的浏览器实现。只要一个浏览器,就能解决一切问题。

试想,如果百度、百度贴吧、知乎、网易、天涯、水木年华、CCTV等等所有网站,以及各大论坛,这些原本用电脑浏览器,或者手机浏览器都能正常访问,如果每个网站都(非)要开发一个APP,对于开发者是资源浪费,对于用户也是一种残害

虽然大部分网站没有走这条开发APP的怪路,但是上述提到的百度、百度贴吧、知乎都已经开发了APP,同时也有手机版网页,但现在手机版网页在很多手机上已经不能正常显示,几乎已经无法用了。(例如百度网页,在安卓6.0以下的手机,搜索结果只显示一个,并提示需要安装百度APP;百度贴吧的手机网页版,在手机浏览器上的文字都是“马赛克”;知乎的手机网页版,只能正常显示几条回复,其余不显示;天涯的手机网页版,几秒钟后总是跳转到一个广告页,电脑网页版正常。)

由于现在APP的深度开发、过度开发,迫使用户需要不断更新手机硬件,手机已经成为易耗品,很多人的手机现在1~2年以内更换一次(来自一些贴吧上很多用户的回复)。

也有专业用户能坚持3~5年以上不换手机,但是已经比较卡了。
这些专业用户指的是爱折腾手机、或爱折腾电脑的人,多是男士;非专业用户多是女士。

拼手机硬件的时代
从2017年之后,各个APP都在迅速臃肿,使手机越来越卡,这种乱象主要发生在手机。

而PC软件就没有这种现象,现在使用10多年前的配置(2009年之后出的任意一台PC),运行现在的主流软件,电脑依然很流畅。电脑用久变慢了,只要重装系统即可恢复流畅。

在价格上,手机因为软件臃肿,CPU跟不上了,只有整机换,手机更换周期为2~4年才能跟得上现在的软件(手机APP)。电脑现在的硬件平台更换周期,可以在5~10年以上(大型主流游戏除外)。

这样算下来,手机上的硬件投资大约是电脑硬件投资的5~20倍以上。

电脑可以随便折腾。想升级平台了,更换CPU/主板即可,其它硬件都可以不动,或者最多再换个内存(DDR3换成DDR4)。也可以随时添加硬盘、内存。

因为这个规律,我不关注时下的最新款手机,有的用就行,因为那些其实就是热推的商品。

能用电脑,就尽量用电脑。因为电脑的功能,比手机强大太多太多,那是几十倍的差别。比如搜索引擎查询资料、淘宝购物,使用电脑比手机方便得多、快得多,因为手机只能开一个窗口,而且手机的屏幕小,可显示的内容少。

在硬件平台上,2009年最低端的电脑双核CPU,总体运行速度比现在的主流真八核CPU还要快很多。这可能是因为手机CPU是ARM架构,还有就是电脑CPU的主频比较高。价格方面,电脑CPU便宜很多。

现在的四核手机已经彻底无法运行最新版的微信,仅仅是切换普通的聊天窗口,或者扫描二维码,都需要多延迟10秒~5分钟。现在能运行最新版微信的手机,必须是真八核起步,安卓版本最低6.0

而几年前的经典高版本微信6.3.13,只要是安卓4.1或以上的任何手机,运行都十分流畅,当时的APK安装包是34MB。

淘汰下来的手机的作用
每台安卓手机其实就是一个平板电脑。只要不运行微信,还能比较流畅地运行现在80%~90%以上的APP(安装APK在80MB以内),很多不太常用的软件可以安装在这些手机里。

这些软件并不需要安装在密切使用的手机里。因为密切使用的手机里安装的软件太多的话,一是会卡;二是很多软件会自己跳出来,而且有提示音,打电话时这个提示音特别大声,影响听力。

现在的主流中端机
中等价位、高性能,推荐华为荣耀9X (麒麟810)、华为荣耀X10 (麒麟820,支持5G)。

绕了一大圈,还是回到华为。因为在同等价位里,华为的性能比较高,拍照效果一流。另外,作为国内最热门的品牌,至少这个品牌不会有偷发短信的现象。别的品牌我大多没有尝试过。

过去,已知的×派、×兴多个型号,有自动偷发短信的现象,发一条扣0.1元。

以前我一直用海信的品牌,但是已经没有优势了。同样的价位,现在华为比海信好很多。

至于华为Mate、Nova系列,是高端机。

其实荣耀畅玩系列已经够高端了,够用。近些年最经典的是2017年的中端机华为荣耀6X (麒麟655,真八核),后来出的荣耀8X、荣耀9X、荣耀X10的性能都远在荣耀6X之上。荣耀6X,现在还是很流畅,能流畅运行现在的最新版微信。

华为荣耀5C (麒麟650,真八核)的性能是荣耀6X的70%~80%左右,现在还能勉强流畅运行最新版微信,预计1年后就无法运行那时的最新版微信,但是如果手机上不再登录微信新帐号,那么手机还能一直用下去。

6条评论:
1   小城老李 2021-04-01 11:11
主要是工作生活都被这些软件捆住了,想不用都不行。
2   自由勇 2021-04-01 15:59
更新:
副标题:现在的主流中端机

中等价位、高性能,推荐华为荣耀9X (麒麟810)、华为荣耀X10 (麒麟820,支持5G)……

3   mouser 2021-04-01 20:55
国内手机普遍有ROM过早停止更新的问题
4   wys 2021-04-01 22:45
工作需要微信。不然我真不用微信。

自由勇 2021-04-02 06:54
是的,被动使用。

5   老张博客 2021-04-02 13:10
电脑上微信的缓存文件在C盘,结果搞了十几个G,必须要清理清理!现在真的是需要拼硬件的时代 了!

发表评论:
名字: (*必填)
博客: (可省)

正文:

  记住信息?

王志勇:1980-09-26 (44周岁)
程序设计,前端设计。

版权声明:本博客所有文章,均符合原创的定义,禁止转载,违者将必究;正确的方法是贴原文的标题和网址即可。

与此相关的链接
自由勇专栏

Blog存档 Archives

2022年07月
2022年06月(15)
2022年05月(20)
2022年04月(16)
2022年03月(9)
2022年02月(9)
2022年01月(10)
2021年 +

2020年 +
2019年 +
2018年 +
2016年-2017年(9)
2014年06月-09月(10)
2013年 +
2012年 +
2011年 +
2010年 +
2009年 +
2008年 +
2007年 +
2006年 +
2005年09月(4)

Copyright © 2006-2024 auiou.com All rights reserved.
此Blog程序由王志勇编写