国内的APP为什么行测越做越差差

&主题:现在的软件为何越做越大?
泡网分: 0.704
帖子: 1073
注册: 2016年03月
各种软件都是,导致系统变的很慢,有这必要吗?
越做越小才是真本事!
微信扫一扫分享
&浏览:983&&回帖:39 &&
泡网分: 13.024
帖子: 11354
注册: 2012年06月
漫漫旅途 发表于
世界上最喜欢把程序越弄越复杂凸显码农价值的就是开源软件了。任何一点点小修改更新都可能导致用户巨大的更新。该API这事那是另外一回事 但是人家的软件体积确实变化不大
泡网分: 24.905
帖子: 5893
注册: 2005年02月
eeree 发表于
现在很多软件(几乎是全部)都是用框架工具写的,框架占用的空间太大。
真正自己写的代码,很少。
我刚出来工作的时候,装一个小的游戏辅助工具,功能只是从运行内存中晒出一些数据,所以工具本身不到1M;
但是这个工具依赖于微软.net框架,一个几百M的大包;
那时候我很不理解,在办公室里面大声骂这些程序员无能;
周围的同事都是脸黑黑地看着我
泡网分: 14.902
帖子: 8779
注册: 2008年11月
闲聊状态 发表于
不弄的越来越复杂,显不出程序员的存在价值,他们为了更高的工资也有意愿弄得复杂
不弄得复杂,没法挣到更大的份额,软件开发商也有想法
不弄的复杂,怎么让用户不断的升级硬件
但是,这世上也有一个奇葩---开源软件
那货恰好和上面三条不那么符合,于是 他的软件功能差不多的时候软件体积和占用N年以来基本没变化。。。。世界上最喜欢把程序越弄越复杂凸显码农价值的就是开源软件了。任何一点点小修改更新都可能导致用户巨大的更新。
泡网分: 30.349
帖子: 28420
注册: 2007年09月
反正我就知道前2-3年植物大战僵尸2,文件体积达到了600M,后来下一个版本优化了一下,立马减少到了300M。
功能,界面都没什么大的变化,但体积减少效果显著,这优化空间大大的。
泡网分: 13.195
帖子: 2159
注册: 2008年07月
牟沧浪 发表于
不懂装懂,一派胡言~~~亏你也号称学过编程的!
一句死循环把机器搞死,能有多大的代码?安装里资源文件大,跟执行程序有一毛钱关系?一个支持单语言的版本,跟支持国际化的版本,大小差得多了去,难道消耗的资源也差得多?做得烂就是做得烂,扯大小有啥意义
泡网分: 49.118
帖子: 13535
注册: 2002年05月
牟沧浪 发表于
各种软件都是,导致系统变的很慢,有这必要吗?
越做越小才是真本事!简单说,在古代--也就是十几年前--
1、计算机硬件性能低价格高;
2、人工相对便宜;
3、人们对计算机做的工作要求很少,也就是做做计算、或者弄点办公系统啥的。
这个时候就要让软件开发人员去精细打磨,配合高价低效的硬件,做出少数几个软件就行--100人写几年弄个大型软件,赚的钱够吃好几年。
而现在反过来了:
·计算机硬件性能高、价格低;
·程序员人工贵;
·人们希望计算机做的事情越来越多,你看拍张照片还要带换头功能。
于是就要程序员快速完成功能,效率低没关系,硬件足够强大。
而且事实上就是,这样看起来效率低的软件,大大方便了我们的生活。
泡网分: 1.504
帖子: 2027
注册: 2014年11月
牟沧浪 发表于
各种软件都是,导致系统变的很慢,有这必要吗?
越做越小才是真本事!
...大小和系统快慢没必然关系,国产流氓软件再小都可以卡爆你机子。
本帖由安卓客户端发布
泡网分: 48.432
精华: 12帖子: 5317
注册: 2000年04月
nahcooo 发表于
代码短不代表效率就高,使用递归算法的时候,代码是相当短的,几行就解决复杂问题。但是执行起来,还是那些手工把递归展开的代码速度更快。
...
本帖由 无忌论坛V3.1.0 iPhone6 iOS10.3.2 客户端发布
泡网分: 0.176
注册: 2017年04月
做个软件不容易啊,又要快,又要多功能,又要漂亮,又要小,现在的硬件性能都不错,应该还好啦。
本帖由安卓客户端发布
泡网分: 22.628
帖子: 9154
注册: 2008年06月
牟沧浪 发表于
言之有理,当年俺学编程的时候,有一次编一个程序俺只用了别人几十分之一的语句就成功了,老师很惊愕,上机演试,没毛病,然后说这是他几十年来遇到的第二个,用的反证法;把俺高兴了许久;也说明现在的大部分软件确实垃圾太多,好在硬件够快~~~代码短不代表效率就高,使用递归算法的时候,代码是相当短的,几行就解决复杂问题。但是执行起来,还是那些手工把递归展开的代码速度更快。
泡网分: 10.164
帖子: 8572
注册: 2012年02月
eeree 发表于
软件大小和系统变慢当然是正相关的。
有些软件用的组件很庞大、低效,运行时占用大量的内存和CPU,这样就拖了系统的速度了。代码低效,和代码体积,不是正相关的。
而且,现在的app,代码编译出来的执行文件只占非常小一部分,大多数都被各种资源文件占掉了。
泡网分: 0.704
帖子: 1073
注册: 2016年03月
zidan2 发表于
软件大小跟系统变慢有直接关系?软件安装包大,又不代表运行时占用的资源就多。系统变慢是系统做的烂,该回收的不回收,该释放的不释放,你装个古时候的小软件,一堆内存泄漏,啥系统也会变慢。再说了,软件厂家都是根据当时的硬件水平来开发软件的,谁也不会现在在手机上开发一个运行内存需要16G的软件;如果硬件足够,软件厂家不充分利用硬件性能,如何跟别家竞争?不懂装懂,一派胡言~~~
泡网分: 0.704
帖子: 1073
注册: 2016年03月
老顽童 发表于
本人作为一位高级软件人员,可以告诉大家真正的原因。
软件体积小、速度快,是合理化的结果。简单说,就是没有多余无用的代码,功能都是直截了当的实现的。但这样的软件,需要高级软件开发人员、几乎所有代码都要专门为这个问题编写,开发门槛高、工作量大、开发周期长,一句话,成本高。
但软件与其它产品不同,它具有易复制性、易修改性。所以利用已有软件修改扩充,使它变成一个新的软件,这样成本可以大为降低,开发人员的水平也不要求太高,开发周期也大为缩短,所以成本大幅度下降了。
软件公司经过多年运作,往往积累了大量的程序。当他们开发新的软件的时候,首先想到的就是能不能在已有程序的基础上扩充出新的软件?长年累月的这样做,程序的体积会越来越大、越来越复杂,以至于到后来已经没有人能看懂全部代码了!软件行业有句俗话,说看懂别人的程序,还不如自己写一个省事!现成的软件,动辄包含几百万行代码,经历了长期演化,早期开发人员早已离开、升职,甚至退休了。就算是他还在,你问他几年前写的程序是什么意思,他要是不下功夫也是一脸茫然。
最终的结果是:当软件公司需要开发一个新软件的时候,他首先考虑原有的一些软件、程序库、软件包能不能利用?能不能利用他们 ...言之有理,当年俺学编程的时候,有一次编一个程序俺只用了别人几十分之一的语句就成功了,老师很惊愕,上机演试,没毛病,然后说这是他几十年来遇到的第二个,用的反证法;把俺高兴了许久;也说明现在的大部分软件确实垃圾太多,好在硬件够快~~~
泡网分: 0.272
帖子: 1173
注册: 2016年01月
zidan2 发表于
牟沧浪 发表于
各种软件都是,导致系统变的很慢,有这必要吗?
越做越小才是真本事!
==========
软件大小跟系统变慢有直接关系?软件安装包大,又不代表运行时占用的资源就多。系统变慢是系统做的烂,该回收的不回收,该释放的不释放,你装个古时候的小软件,一堆内存泄漏,啥系统也会变慢。再说了,软件厂家都是根据当时的硬件水平来开发软件的,谁也不会现在在手机上开发一个运行内存需要16G的软件;如果硬件足够,软件厂家不充分利用硬件性能,如何跟别家竞争?软件大小和系统变慢当然是正相关的。
有些软件用的组件很庞大、低效,运行时占用大量的内存和CPU,这样就拖了系统的速度了。
泡网分: 13.195
帖子: 2159
注册: 2008年07月
牟沧浪 发表于
各种软件都是,导致系统变的很慢,有这必要吗?
越做越小才是真本事!软件大小跟系统变慢有直接关系?软件安装包大,又不代表运行时占用的资源就多。系统变慢是系统做的烂,该回收的不回收,该释放的不释放,你装个古时候的小软件,一堆内存泄漏,啥系统也会变慢。再说了,软件厂家都是根据当时的硬件水平来开发软件的,谁也不会现在在手机上开发一个运行内存需要16G的软件;如果硬件足够,软件厂家不充分利用硬件性能,如何跟别家竞争?
泡网分: 0.076
注册: 2013年08月
eeree 发表于
现在很多软件(几乎是全部)都是用框架工具写的,框架占用的空间太大。
真正自己写的代码,很少。
...对头,组装代替了手工打磨,结果就这样了。不过要快速应对市场需求,只能组装了,互联网思维更是如此
本帖由安卓客户端发布
泡网分: 48.432
精华: 12帖子: 5317
注册: 2000年04月
牟沧浪 发表于
各种软件都是,导致系统变的很慢,有这必要吗?
越做越小才是真本事!
...时代不一样了……
本帖由 无忌论坛V3.1.0 iPhone6 iOS10.3.2 客户端发布
泡网分: 0.272
帖子: 1173
注册: 2016年01月
老顽童 发表于
本人作为一位高级软件人员,可以告诉大家真正的原因。
软件体积小、速度快,是合理化的结果。简单说,就是没有多余无用的代码,功能都是直截了当的实现的。但这样的软件,需要高级软件开发人员、几乎所有代码都要专门为这个问题编写,开发门槛高、工作量大、开发周期长,一句话,成本高。
但软件与其它产品不同,它具有易复制性、易修改性。所以利用已有软件修改扩充,使它变成一个新的软件,这样成本可以大为降低,开发人员的水平也不要求太高,开发周期也大为缩短,所以成本大幅度下降了。
软件公司经过多年运作,往往积累了大量的程序。当他们开发新的软件的时候,首先想到的就是能不能在已有程序的基础上扩充出新的软件?长年累月的这样做,程序的体积会越来越大、越来越复杂,以至于到后来已经没有人能看懂全部代码了!软件行业有句俗话,说看懂别人的程序,还不如自己写一个省事!现成的软件,动辄包含几百万行代码,经历了长期演化,早期开发人员早已离开、升职,甚至退休了。就算是他还在,你问他几年前写的程序是什么意思,他要是不下功夫也是一脸茫然。
最终的结果是:当软件公司需要开发一个新软件的时候,他首先考虑原有的一些软件、程序库、软件包能不能利用?能不能利用他们 ...现在很多软件(几乎是全部)都是用框架工具写的,框架占用的空间太大。
真正自己写的代码,很少。
无忌交流论坛版主
泡网分: 147.168
精华: 14帖子: 51798
注册: 2000年06月
本人作为一位高级软件人员,可以告诉大家真正的原因。
软件体积小、速度快,是合理化的结果。简单说,就是没有多余无用的代码,功能都是直截了当的实现的。但这样的软件,需要高级软件开发人员、几乎所有代码都要专门为这个问题编写,开发门槛高、工作量大、开发周期长,一句话,成本高。
但软件与其它产品不同,它具有易复制性、易修改性。所以利用已有软件修改扩充,使它变成一个新的软件,这样成本可以大为降低,开发人员的水平也不要求太高,开发周期也大为缩短,所以成本大幅度下降了。
软件公司经过多年运作,往往积累了大量的程序。当他们开发新的软件的时候,首先想到的就是能不能在已有程序的基础上扩充出新的软件?长年累月的这样做,程序的体积会越来越大、越来越复杂,以至于到后来已经没有人能看懂全部代码了!软件行业有句俗话,说看懂别人的程序,还不如自己写一个省事!现成的软件,动辄包含几百万行代码,经历了长期演化,早期开发人员早已离开、升职,甚至退休了。就算是他还在,你问他几年前写的程序是什么意思,他要是不下功夫也是一脸茫然。
最终的结果是:当软件公司需要开发一个新软件的时候,他首先考虑原有的一些软件、程序库、软件包能不能利用?能不能利用他们拼凑并加一些修改和扩充?这样一来,很快可以出产品,就是里面多余的东西还保留了许多,很多功能的实现经过了许多转折而不是直截了当的。但由于现在计算机速度很快、存储量极大,这些缺点都不足为道。
我以前出于好奇试验过一次,利用开发平台编写程序,和自己手工编写进行比较。对于计算密集的问题来说,程序体积小了几十分之一、速度快了几十倍、几百倍!平时我们感觉不到速度的差异,是因为一个程序在运行的时候,大部分时间都在等待你的键盘输入,而人的键盘输入与计算机相比速度太慢了!
泡网分: 21.709
帖子: 4683
注册: 2008年02月
就是功能加太多造成的,占领市场。
泡网分: 25.61
帖子: 7133
注册: 2007年02月
各个软件都越做越精美,越做功能越多,求大求全,怎么会不大?
光一个微信,涵盖了多少应用在里面啊,连滴滴打车的功能都有……
泡网分: 30.349
帖子: 28420
注册: 2007年09月
偷懒呗,反正用的不好,不够用让用户换手机去。
泡网分: 3.319
注册: 2011年01月
刚刚由1.32版本升级到最新的2.04?不是短信老版本看不了,都不想升级,后悔了。现在退回去来的及么
本帖由安卓客户端发布
泡网分: 18.995
帖子: 1063
注册: 2006年07月
myxjj 发表于
软件不做的越来越臃肿越来越耗资源又怎么能让你心甘情愿的去升级PC和手机呢?
软件太有效率了太节省资源了,那硬件厂商喝西北风啊!!
话是糙了点,但却是事实+1
泡网分: 0.324
注册: 2017年02月
其实是正常的,譬如说现在的屏幕,甚至都有5K的了,以前呢?20年前800x600就是不错的了。
你说光这些资源文件的体积,就能差出上百上千倍。
功能性也在增加,其实功能增加带来的代码体积膨胀是不大的,关键还是这些功能总得有个UI来展示啊,那么好了,参见上一条,如今的UI资源非常庞大,于是整个软件就不停的在吹气球。
最后,如今某些软件,特别是游戏,配合的过场CG,弄个标清的,玩家要骂,什么破玩意一点诚意都没有,那就只好用高清CG,于是体积就......
泡网分: 23.587
帖子: 3320
注册: 2006年01月
yyhero01 发表于
无忌老版本800多k,新版本14M。负优化典型。无忌根本就是个浏览器的内核,不是无忌自己把肚子搞大的。
本帖由安卓客户端发布
泡网分: 13.024
帖子: 11354
注册: 2012年06月
nahcooo 发表于
开源软件ubuntu现在的体积也是以前的两倍了呢软件包多了 功能也有添加 完善性也有提高,但是也不是跟安卓APP那样疯涨
但是也只是翻了两倍,而如果按照以前的ubuntu的软件包,实际上也没增加多少
XP 到win10翻了多少。。。
而具体到单一组件 firefox ssh 等等 又涨了多少
他们也没有事没事弄个弹窗 发点广告啥的
泡网分: 22.628
帖子: 9154
注册: 2008年06月
闲聊状态 发表于
不弄的越来越复杂,显不出程序员的存在价值,他们为了更高的工资也有意愿弄得复杂
不弄得复杂,没法挣到更大的份额,软件开发商也有想法
不弄的复杂,怎么让用户不断的升级硬件
但是,这世上也有一个奇葩---开源软件
那货恰好和上面三条不那么符合,于是 他的软件功能差不多的时候软件体积和占用N年以来基本没变化。。。。开源软件ubuntu现在的体积也是以前的两倍了呢
泡网分: 3.312
帖子: 3151
注册: 2012年08月
就连iphone手机固件从一代的100MB到现在的1.4GB也在不断的增大,习惯就好。
泡网分: 4.257
帖子: 7075
注册: 2013年07月
yyhero01 发表于
无忌老版本800多k,新版本14M。负优化典型。关键还越来越不好用
本帖由IOS客户端发布
&版权所有:&&&&最近猛然发现安卓国产APP的体积越来越大,为什么?
最近猛然发现安卓国产APP的体积越来越大,为什么?
一个微信竟然占用400mb空间还是我把所有聊天记录缓存等全部清理干净的,缓存占用率接近1g这些流氓软件究竟想干什么?回答关注(54)|查看更多问答14个回答希望之草2小时前17赞踩我是做Android的,我给大家说说原因吧。Android软件大主要是以下几方面造成的。 1 Android界面功能的实现难度。Android相对于apple在某些方面实现起来很困难。比如Android的广告推送。苹果有自己的服务器可以用,而谷歌的服务器却不能用。咋办,于是有了n 种办法,有的人会用第三方比如百度。但更多的公司会自己实现。广告推送是与盈利挂钩的,这是一个很重要的功能。一个广告推送就会让app 多产生七八个类,几百行甚至几千行代码。但这不是最重要的,最重要的是因为这个功能太重要了,以至于每一个Android APP都会有。而这个功能因为需要推送,所以这个功能需要后台24小时运行。这导致无数个pushService在后台运行,他们占用内存,占用cpu 有的甚至索要权限进行电话录制,复制个人信息。 2 android 界面相对于苹果而言,实现有点困难。这种困难从Android出生的那一刻就存在了。一个界面就有一个activity,而n 个界面就有n 个activity。n个activity里面因为某种原因造成代码冗余。于是有了fragment,但是fragment在深度嵌套时会有许多难度而最典型的难度就是传值,页面跳转。这一下字增加了其复杂度。因为要实现会产生很多冗余代码。 3 软件升级。相对于苹果,Android的升级十分的频繁。Java程序最大的特点是可重用性,特别适合二次开发。绝大部分的程序员,在软件升级时,是不会去删除那些不用的代码的。为了兼容老版本,就更不行了。这导致产生庞大的废代码。 4 界面布局文件。界面布局的碎片十分的多,而这些碎片和Java代码是相关的。一个app 页面越多,产生的垃圾布局文件越多。好多公司为了追求速度和程序的可阅读性,是不会主动去删过时的代码和布局文件。 5 图片,图标。APP的代码体积有相当大的可能是图片造成的。图片越多会造成APP体积极速扩张。与媒体相关的视频,游戏变成巨霸就成为无可厚非的事。但是还有一个重要原因就是Android的适配。因为Android手机碎片化严重,为了用户体验,常常需要2套以上的图片,图标。8评论谁遇而按03-14 16:1458赞踩楼主都说“他们”是流氓了,当然就干点流氓的勾当呗!我觉得吧,滋生这些流氓的土壤是关键作用。只要有强大的约束肯定流氓也不敢耍流氓了!相对而言Googleplay下载的的APP要好些,下面上截图(前三个截图图片是用的截图拼接APP拼接的,可能有点错位,请大家见谅。),至于这款视频类APP,国内APP(国内这类APP我手机里没有)的权限需求我敢打包票肯定不止这么几个!下面再插两个纯国产的说个题外话:自从限制了同花顺的所有权限,现在我的账户根本不存在经常在异地登录导致逼迫我的账户下线(而且打同花顺客服电话也不管用),之前没限制权限的时候,一天都能逼迫我账户下线n次,而且最憎恨的就是要下单交易的时候被迫下线。下面就贴出我手机里所有(包括手机自带)APP截图的缓存占用情况!完毕,谢谢阅读!51评论白之若03-14 14:0624赞踩这个问题有点意思,可是你忽略了真正的重点,为什么现在app需要的权限那么多,很多权限和软件功能没有一毛钱关系。但是就是强制要权限,不然就没法使用。看看我手机里需要权限最多的这个基本上涵盖了所有敏感权限,一个输入法还能监听电话 读取短信 上传相册 后台拍照 有点可怕 当然 不只是这一个app大多数都是这德行,快看看你们手机装的软件是不是需要这么多权限。 哈哈 和裸奔 没什么区别。。11评论fcott03-14 19:303赞踩不是android的问题。卸载重装会变小11评论咖啡奶茶原料03-13 21:29204赞踩安迪-比尔定律:软件就是会越来越肿安迪-比尔定律非常了不得,大名鼎鼎的摩尔定律,在这条铁则面前也得抖三抖。说安迪-比尔定律统治了摩尔定律,似乎也不过分,当然这不会是因为安迪-比尔定律的名字比较长。无论摩尔定律拔高了多少硬件性能,人们都不得不年年掏钱升级新设备,这就是安迪-比尔定律的威力所在。安迪-比尔定律具体指什么?我们一起来看看。安迪-比尔定律不是定律,它是一个机遇!——by卖硬件的JS要讲安迪-比尔定律,先得提一下摩尔定律。摩尔定律大家都懂,网上普遍流传的是“芯片每18个月性能提高一倍,价格减半”,这不是原版。戈登·摩尔的原话是晶体管每24个月增加一倍,18个月是时任Intel主管的大卫·豪斯(David House)的说法。细节不要紧,大概意思基本一致。硬件的发展也的确如同摩尔定律所说,性能不断爆发式增长。24个月的说法拟合度更好,不过在近年的移动平台上套用18个月的说法也并无不可然而多年过去,事情却不对头,这硬件是涨了,但没感觉变快啊?三年前用电脑干什么活,现在也是基本如此。硬件猛了,但拔高的性能只能让芯片化身暖手宝,用来养电厂,这不坑爹么!转头一看,微软Intel合体的Wintel联盟笑而不语。这就是安迪-比尔定律的本质。所谓安迪-比尔定律,安迪指的是Intel前CEO安迪·鲁夫,比尔则是大家都知道的比尔·盖茨。这条定律可是把这两位IT大佬狠狠黑了一把啊。安迪-比尔定律的含义就是,安迪给啥,比尔拿啥;Intel产多猛的硬件,微软会用越来越臃肿的系统和软件统统吃掉增长的硬件性能。安迪-比尔定律,实质上所描述的,就是软件臃肿化的问题。安迪&比尔:别光看啊,快买呀随着功能的加入和交互的革新,软件做得越来越大,是很正常的事情。然而,软件臃肿化并不是单指软件体积膨胀,重点是软件增加的功能和变大的体积不成比例。安迪-比尔定律的主角是Intel和微软,但其实在整个业界中,软件臃肿化已是尾大不掉。无论是桌面平台还是移动平台,软件臃肿化的迹象都随处可见。桌面平台&移动平台:难逃软件臃肿化魔咒◆桌面平台近年来桌面平台软件臃肿化最令人菊花一紧的,应该当数Windows Vista了。Windows Vista一出,Aero毛玻璃特效亮瞎了无数人的眼,笑开了无数内存卖家的颜(虽然后来很快就哭了)。而同样的历史,也在Windows XP接过Windows 98大旗时上演过(Windows Me那破烂就不提了,Windows 2000隶属Server系列也不提了)。无论是Vista还是XP,都带来了大量革新,遗憾的是,带走的老机器也不计其数。说真的,当年期盼微软出个Vista+内存同捆套餐的人,不止一两个除了操作系统外,桌面应用软件的臃肿化也非常明显。以IM软件为例,多年过去,IM的主要功能没有发生什么大变化,还是打字语音加视频,但QQ 2003 10M不到的体积已成绝唱。虽然新版QQ 2013五十多M的体积,看上去似乎不算夸张。但多开几个窗口你会发现,连2G内存都喂不饱QQ。夭寿啦!1G内存都能养活Windows XP了!◆移动平台在移动平台上,软件臃肿化甚至要比桌面平台更严重。先来看看以优化效果拔群闻名的苹果,iOS4的体积600M不到,而iOS7体积已经达到了1G多。至于所占资源嘛,瞧着当年行云流水iPhone 4被卡哭的样子,大家应该心里有数。而iPhone 4有什么功能是必须用iOS7才能实现?Siri?Touch ID?高速连拍?对不起,旧机型的标配是旧功能,以及卡顿。很多新功能都是新设备专属,功能增加和软件的增肥完全不成比例再来看看以硬件食量闻名的安卓,要不是安卓卡在了32位的瓶颈,恐怕在今年已经把RAM堆到4G了吧?8核+4G RAM,光是论名头,很多PC都没这么夸张,然而这是否就能喂饱安卓?还得打个问号。再加之安卓App受到的限制比iOS平台来得少,开发者们简直像是狂欢一样,拼命往里面添油加醋。安卓App变得重口而滞胃,实在吃不消啊。吃吧吃吧,越吃肥得越夸张,最后也许动都动不了可以说,无论是iOS平台还是安卓平台,无论是移动平台还是桌面平台,软件臃肿化现象都非常普遍。通胀是经济发展不可避免的现象,软件臃肿化似乎也在消费电子发展史上,充当了类似角色。为何安迪-比尔定律屡试不爽?软件臃肿化真的不能避免呢?我们一起来看看软件增肥的缘由。增肥的食粮:软件臃肿化三大缘由◆硬件需求进化:好钢用在刀刃上,刀刃同样要好钢前面提到,随着技术进步和用户需求的发展,软件增肥,本来是一件非常正常的事情。想要马儿跑,哪能让马儿不吃草。拿最直观的界面来说,早年的计算机只能够显示最基本的字母,如英文字母以及日文的假名等等,要显示各种汉字,还得增加字库容量;到了图形界面年代,从16色到256色到32位色,每一步进化都需要更先进的硬件铺路。想要用马车把人拉到火星上,未免也太魔法了点。虽然系统仍保留高效的命令行,但恐怕最令人流连忘返的,还是图形界面的各种吃资源特效十年前PC可以轻松解码DVD,对1080p的蓝光碟一筹莫展,而现在的手机都能放4K视频了;十年前手机可以听歌拍照,但和现在将随身听卡片机打得掉一地牙的手机相比,完全不是一回事。在未来,3D、全息以及沉浸式体验将会给人们带来另一番新天地。理所当然,这片天地必须要用更强劲的硬件才能撑得起。◆软件功能过剩:好钢用在刀刃上,刀背也来分杯羹不知道从什么时候开始,各种软件突然变得很喜欢把奇怪的东西塞进自己里面。一个好好的聊天软件,突然就多出了新闻浏览安全杀毒等功能;一个好好的浏览器,突然就多出了安全杀毒社交聊天等功能;一个好好的杀毒软件,突然就多出了社交聊天新闻浏览等功能。平时装三个软件可以得到三种功能,现在装三个软件得到九种功能,什么你说都是功能重复的?我听不到。总之就是一片顶三片,疗效特好,专治电脑性能过高!你告诉我,这是一个聊天软件?目前IT业界正处于从桌面端迁移到移动端、从本地迁移到云端的剧烈转型期,新兴的应用环境层出不穷。受业界大环境的影响,专精于某一项功能的软件变得越来越少,开发者们恨不得用一个安装包就统治了用户的使用环境,为前途和钱途铺好路。在这种指导思想下,打铁的也开始割麦子,煮饭的也开始负责炼钢。想把摩尔定律拔起来的性能都物尽其用,好钢通通用在刀刃上,各种随系统自启的软件应用摇晃着一身肥肉纷纷起身抗议不答应。杀了两三个流氓,还有无数后来人。◆软件欲求不满:好钢坏钢一箩筐,管他什么顶硬上现在电脑的性能真的过剩吗?对于某些开发者而言,硬件似乎没有什么过剩不过剩的区别。无论硬件有多高,总有人能够写出榨干性能的软件。这些软件又可以分为两类。第一类是无论是哪个时代都会出现粗制滥造导致的软件臃肿化。不管硬件性能去到多高,恶劣的代码总能够化神奇为腐朽,这在开放程度高的平台尤为常见。前面提到安卓平台软件臃肿化问题严重,就是着了这方面的魔了。安卓平台没有严格的审核,也没有细密的权限控制系统,入门门槛低,开发者可以放开手脚干。面对完全不稀缺的资源,恐怕懂得珍惜的人不多吧。于是,一堆狂吃硬件资源的安卓App诞生了。安卓的开发环境,太容易写出垃圾App了第二类是太过超前的软件,同样没有考虑到当前硬件平台环境。但和第一类不同,这类软件并不是粗制滥造,反而是经过精心设计——但看上去不像是为普通人设计的。以Windows Vista为例,笔者一直认为Vista是一个非常优秀的系统——前提是它不是运行在2006年主流配置为单核CPU和512M RAM的PC上。实际上,Windows 7大致就是Vista的马甲,两者性能速度硬件需求基本是同一水平,为何两者口碑差距如此大,除了一些细节的不同外,大概还是因为Windows 7诞生于2009年而非2006年吧。软件臃肿化:真的无药可救?现代人的体重越来越夸张,以希望国为例,根据统计,美国的肥胖率已经接近三成。肥胖问题在美国每年可以造成约十万至四十万人死亡,并大幅增加医疗支出和其他社会成本,美帝每年需要在肥胖问题上花费1170亿美元,简直水深火热。现在的软件环境,和肥胖问题有异曲同工之处,人们不得不花大力气喂饱软件们贪婪的硬件需求,并直面由软件臃肿化带来的卡顿、停止响应、崩溃等问题,太虐心了。无论是人脑电脑,血管都被注入了时代特有的脂肪。无论在人类社会还是IT业界,肥胖都已经成为了大问题人们已经意识到了肥胖化的后果,减肥俨然已经成为了都市生活不可或缺的话题。同样,IT业界也在为解决软件臃肿化而努力。虽然软件臃肿化的大趋势并没有停止,但近年来被安迪-比尔定律折腾得吃不消,狂吃减肥药试图去除软件臃肿化的案例也不少。桌面平台的减肥成功人士代表为Windows,移动平台上则是安卓。一起来围观下,励志励志。◆减肥励志案例一:微软WindowsWindows Vista的肥胖饱受诟病,微软显然也知道自己的设计有点太超前了。从Windows 7开始,Windows系列投入了轰轰烈烈的减肥运动中。Windows 7是第一款比前代更省资源的Windows系统,意义重大。虽然减肥程度不算夸张,和Vista基本也是处于同一重量级,但加上I/O方面的进步,Windows 7给人的感觉要更加高效。从Vista到Windows 7,从Windows 7到Windows 8,微软每代都在减肥微软将减肥运动延续到了Windows 8这一代,Windows 8也成为了第二款比前代更省资源的Windows系统。按现在Windows往平板手机迁移的走向,Windows 9很有可能依然比前代更省资源,希望如此吧。◆减肥励志案例二:安卓4.4安卓的臃肿相信毋庸多言了,Google也痛定思痛,这次安卓4.4在优化上下了血本。首先,Google斥巨资2300万美元收购了法国雷恩的一家创业公司Flexycore,这是一家专注安卓优化的公司。然后在安卓4.4中,Google启动了“Project Svelte”(瘦身计划),系统内存需求、运算量峰值大大减少。此外,针对安卓App效率低下问题,Google不再完全依赖Dalvik虚拟机,启动了全新的ART机制,App运行速度大幅攀升。安卓4.4减肥成功,简直感天动地安卓4.4的努力效果拔群,有人将安卓4.4移植到了仅有512M RAM和单核CPU的Nexus S中,发现流畅度惊人,符合Google官方声称的“安卓4.4可以流畅运行于512M RAM设备”的宣传。减肥成功的安卓4.4对于用户来说无疑重大利好,也许安卓的硬件大战可以暂缓一下了。软件臃肿无法停息:为何大家放弃治疗?从Windows和安卓的例子可以看出,软件臃肿化并不是无药可救,但为何人们往往放弃治疗?我们可以来参考一下从来不会发生软件臃肿化的游戏机平台。游戏机平台的寿命长得惊人,动不动五年以上乃至再战十年。随着时间的冲刷,游戏机上的游戏优化效果甚至会越来越好。06年发布的PS3至今仍可玩到GTA5、Crysis 3等最新大作(虽然效果是差了点),06年的普通PC现在还能换几条柴?在游戏机平台上,软件索求的资源是稳定的,新游戏并不会比旧的更耗资源游戏机平台非常封闭,而且在长久的生命周期内硬件性能稳定得接近水平线。对于开发者而言,这一方面迫于严格的审核,必须对游戏成品精益求精,你不能乱来,最多也就搞搞内购;另一方面,稳定不变的硬件利于庖丁解牛,每一份性能该用在什么地方,会越来越了然于胸。游戏机能够在悠长的生命周期内由始至终高效发挥机能,绝缘软件臃肿化,和其独特的平台生态密切相关。开发环境、平台生态更迭太快,没法让开发者照应到老设备再回头看看一年一换甚至半年一换的电脑手机,压根没法为开发者提供稳定不变的开发环境,软件应用不得不尾随进化神速的硬件平台更新;同时,就算是审核以严格著称的iOS平台,苛刻程度也没法和游戏机平台相比,更别提门洞大开的Windows和安卓了。微软和Google自然坐拥能够在时代大潮中淡定观望,慢慢打磨代码的人力财力,放长线钓大鱼;但对于更多开发者来说,跟上平台更新的狂潮,用更多手段掌控用户,获取短期利益,才是更好的赚钱大法。至于软件肿不肿……神优化又能怎样?能发大财么?爱玩神优化的话,就让热心的独立开发者自个玩儿去吧。安迪-比尔定律仍会跟随摩尔定律很长时间后话不难发现,更迭越迅速的平台,越容易发生软件臃肿化现象。硬件狂魔安卓的应用比iOS更臃肿,移动平台比近年来放缓更新步伐的桌面平台更臃肿,五年前的PC还能顶用,五年前的智能手机已成弱智矣。不是大家不想减肥,兵荒马乱之中,今天不拼命给自己塞点什么,谁知道明天还有没有机会开饭?摩尔定律作用越明显,安迪-比尔定律的效用也就更大,不得不说这是消费电子发展的怪圈,时代的眼泪啊。在可预见的未来内,软件臃肿化依然不会停下脚步。摩尔定律和安迪-比尔定律相爱相杀的故事,恐怕还有很长一段历史可继续书写。然而,无法治疗和放弃治疗是两回事。作为一名用户,还是希望开发商们能够静下心来,思考用户体验的本质,让每一份增长的硬件性能都能物尽其用。
本文仅代表作者观点,不代表百度立场。系作者授权百家号发表,未经许可不得转载。
百家号 最近更新:
简介: 表现宇宙现象,普及科学知识。
作者最新文章

我要回帖

更多关于 为什么行测越做越差 的文章

 

随机推荐