❶ 为什么安卓国产APP的体积越来越大
我是做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套以上的图片,图标。
安迪-比尔定律:软件就是会越来越肿
安迪-比尔定律非常了不得,大名鼎鼎的摩尔定律,在这条铁则面前也得抖三抖。说安迪-比尔定律统治了摩尔定律,似乎也不过分,当然这不会是因为安迪-比尔定律的名字比较长。无论摩尔定律拔高了多少硬件性能,人们都不得不年年掏钱升级新设备,这就是安迪-比尔定律的威力所在。安迪-比尔定律具体指什么?我们一起来看看。
安迪-比尔定律不是定律,它是一个机遇!——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,移动平台上则是安卓。一起来围观下,励志励志。
减肥励志案例一:微软Windows
Windows 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还能顶用,五年前的智能手机已成弱智矣。不是大家不想减肥,兵荒马乱之中,今天不拼命给自己塞点什么,谁知道明天还有没有机会开饭?摩尔定律作用越明显,安迪-比尔定律的效用也就更大,不得不说这是消费电子发展的怪圈,时代的眼泪啊。
希望之草 这位朋友回答的很详细,归纳起来就是全家桶、链启动、权限索取无度、安卓系统高度开源,以及代码优化不到位导致的,而且还有最重要的一点
苹果手机多年就是4.7英寸,5.5英寸,或者像iPhone SE 4英寸,APP适配起来更简单,安卓的手机尺寸,屏幕分辨率太奇葩,而且差距太大,所以很多APP厂商在做程序的时候,要针对所谓的自适应分辨率做好几套内容。
腾讯就是流氓。。。再搞这样几个软件,手机不卡才怪。。。。
有时候我真的是不明白,你说你一个输入法(不针对某产品),只是单纯为了输入文字方便而儿,有必要那么大吗?
这个图大概可以回答你们的疑问了
我的QQ 8个G
不管怎么样,我不喜欢安卓,软件太闹腾了!一天到晚的把通知栏占满应用消息、很多都是垃圾广告、我垃圾苹果安装了两百多个软件,手机清爽无打扰!好多人可能会说安卓也行!但是很多安卓软件你禁止了一些功能后就不能用了!重要的信息接收不到了!你们可以看看我的屏幕顶部除了必要的显示其他的都没有!你们也可以把你们安卓屏幕截图看看、手机是拿来用的不是接收广告的。也没是来折腾的,安卓机装了两百多个软件的话一天到晚信息不停了!我不想黑我们中国手机,魅族我也在用,系统是好系统软件不正经。
你可以试试从手机导照片到电脑,你会发现太多太多缓存图片了。不是他们处理不了。只有这么大,手机才会卡。然后一个安卓手机用一俩年就卡的不行,只好换新机,他们才有销量。人家都说苹果好,你试试就知道是不是真的。用一俩年基本不卡。不要说什么爱国买国产。这些商人最不爱国。真正国家有什么事,他们为了保值第一个转移资产。特朗普拉那么多商人人去美国建厂就是最好的例子。有钱赚啊,美国补贴高啊,税少啊。什么理由都站得住。很少会说他们不爱国。而他们拓展销路的理由尽然是让我们因为爱国买他们的东西。可笑吗?说爱国,我可以问心无愧。因为长这么大,只有知道我买的东西是日本产品,我会坚决不买。国产货还是一个婴儿。越宠越容易坏。要爱护,但是不要溺爱,那是很无脑的。
❷ 为什么有些文件压缩后比压缩前容量还要大请高手指点,谢谢!
这是正常的,对于一些二进制文件,比如:流媒体,高压缩比的图片等,本身已经是压缩状态(有别于ZIP和RAR的形式),再利用压缩工具ZIP/RAR,进行压缩的话,因为ZIP/RAR有本身的一套压缩机制和算法,反而会造成原来的文件经过此计算后,变的更大的情况,这是正常的。
❸ C++编译后的文件为什么体积特大
正常,在编写小的短的程序C没有汇编有优势,一个程序很简单的程序用TC编译成30K正常
你可以这样理解
编译 就跟模板似的,有固定的开头结尾,中间是你的程序编译的代码,开头结尾最简单也要几K,所以再加上你的程序不可能很短
你是用的TC 而不是用的VC++ 没有动态库与静态库的问题,
但是如果改变些TC编译选项可能对编译结果大小有影响
❹ 为什么我做的wps文件比别人内存大
1)在默认新建的情况下,如内容均一致,正常是不会出现此问题的;
2)请确认您文档是否为自己新建,或在其他渠道下载,有可能包含了一些隐藏对象在文档中,导致您的文档比其他人大;
3)另外如文档中包含图片等其他素材,如图片或其他素材的质量、清晰度等参数不同,也会导致此情况。
❺ 我win10的系统文件有51.6个G,以前没这么大,为什么现在会这么大,可不可以清理
1、运用磁盘清理软件清理C盘,大约可为C盘释放50M-800M空间。
2、关闭休眠功能,在开始菜单的运行里输入powercfg -h off 指令,关闭休眠,此文件实际大小和物理内存是一样的,大约可以为C盘释放1-3G的空间。
3、设置虚拟内存: 计算机属性>高级系统设置>设置(性能)>高级选项卡>更改(虚拟内存),将C盘设置为无分页文件,然后把D盘设置成系统管理的大小即可,更改后只有按“设置”按钮才能生效,最后重启便完成了设置,此文件默认为物理内存的1.5倍,大约可为C盘释放2-4G的空间。
4、删除自动备份文件,运行cmd程序(在“开始–>程序–>附件”中),鼠标右键选择“以管理员身份运行”;然后,命令行输入rd/S/Q c:WINDOWS.OLD,提示确认是否删除目标文件夹,输入y然后回车即可。WINDOWS.OLD为系统的备份文件,时间越久就越大,超过10G都是很正常的。大约可为C盘释放3G以上空间。
5、在电脑管家主界面上点击“清理垃圾”,确认相关垃圾类型被勾选后,点击“开始扫描”,然后点击“立即清理”,如果有需要确认才能清理的垃圾,会您确认后再进行深度清理,以实现快速、安全地清理掉电脑中的垃圾文件。
声明:易商讯尊重创作版权。本文信息搜集、整理自互联网,若有来源标记错误或侵犯您的合法权益,请联系我们。我们将及时纠正并删除相关讯息,非常感谢!