同样的内核,为什么linux干净稳定,而android臃肿又乌烟瘴气?

平凡科技


不管是Windows Linux 还是安卓 iOS 只要涉及c端用户都会乌烟瘴气。错不在c端用户,错在生态圈的秩序。c端普通用户量太大了,利益也大的可怕,软件开发商想尽办法的把你衣食住行 只要他能做的东西都做进去,以至于功能重叠,再加上广告横飞,权限乱给。如果你手机或者电脑重叠功能和广告还有不用的功能全部删除,你的设备占用资源最少会释放4/5,又怎么会不稳定、不流畅呢?


胡先生144907144


有幸在linux以及安卓框架上研究过几年,现在就这个问题发表点个人意见,安卓底层操作系统算是定制版的linux内核,但有个非常明显的区别,安卓只是用到了linux内核上层的应用体系是完全自己构建的,距离linux原生态的方式已经距离非常遥远了,所以拿来和纯正的linux做对比其实意义不是特别大,安卓之所以感觉像windows那样臃肿,主要原因还是生态链的普及的比较完善,使用人数太多,俗话讲有人的地方就有江湖。

linux系统倒是清洁干净,但是使用的人数有点寒碜,linux主要用在服务端市场比较多,但在PC市场windows还是占据95的市场,面对巨量的用户很多人都想在这个流量里面获取一杯羹,大的科技公司用的正当的手段,小规模的或者作坊式的小团队就采用蛮横粗暴的方式来获得利益,所以windows系统时不时的出现的漏洞,病毒,木马其实都是另外形式的赚钱方式,同时也带动出现了一堆的安全巨头,有正有邪,熙熙攘攘皆为利来。

现在的安卓已经有点windows的意思了,不同的是安卓源码是公开的,更加容易找到漏洞,但就安全性能来讲由于秉承了linux内核,安全性能会更好一点,主要通过研究应用的漏洞来做手脚,所以在平时安装app的过程中不要轻易授予某个应用权限,本身在没有授权的情况下是很难突破界限的,但由于用户的不小心或者大意让某些不法行为有机可乘,其实安卓系统的臃肿主要还是安装的app太多,手机配置再高性能也无法和电脑相比,电脑配置高一点软件装的多点对于整体影响不是很大,但手机安装完多个应用之后就会变得非常卡顿,很多应用安装之后非常占内存,当然国内有些大牌的厂商在应用行为上也有点出格,发现竞争对手的应用都能引导用户去卸载,然后互相引导卸载,弄得手机里面很多应用在干架,让手机变得臃肿无比。

现在太多的手机应用喜欢开后台进程,喜欢捕捉用户的行为,方便推送消息,导致系统的内存越来越不够用,特别是国内的互联网公司对于用户个人信息的收集也比较多,记得看见一个新闻国内的一个应用开发公司在国外由于收集用户信息被举报了,最后换了个国外的服务器并且把收集信息减少才算把这事情给平息了。

国内的安卓收集运行环境还是比较恶劣的,基本上一些恶意的干扰用户的行为特别多,几乎每个应用都喜欢在后台运行程序,所以一个配置很高的安卓收集如果安装的应用比较多一样非常的卡顿,现在每个应用在开发的时候都喜欢无限制在里面的增加功能,如果大家都喜欢在里面无限制的增加功能,所以各种臃肿的功能显示出来。

linux和安卓的差异主要在应用行为上的差异,和技术层面关系不大,技术上限制权限就是一个功能开关的问题,不是什么多大问题,任何一个系统或者软件如果用的人足够多,剑走偏锋的人也会变得多起来,所以各种扰民的事情就多了,有人的地方就有江湖,这也是人之常情。

希望能帮到你。


大学生编程指南


安卓表示:这个锅我不背!

不知道大家有没有用过安卓的原生系统,可能做嵌入式的朋友有接触过,很干净,流畅性也不错,当然了也很简陋,不一定每个人都用的习惯。安卓臃肿卡慢的原因,说白了也就以下几个原因:

应用权限把关不严,管理松散

这应该是安卓最被人诟病的原因:给各种APP的权限实在是太宽松。因为早期谷歌为了抢占市场,就大开门户,走上了开源的道路,谁都可以在安卓原有的基础上插一手,虽然这一策略确实为谷歌赢得了许多客户,但也造成了安卓生态极为混乱的局面。

现在我们使用的手机上,都有各个厂家的UI,UI是一种介于操作系统和用户之间的操作窗口,理论上可以更好的帮助我们使用手机。但事实并非如此,很多UI做的并不好,甚至是“负优化”。而且有的厂商为了利益,都会预装一堆app,除此之外还会增加一堆也许根本就用不到的服务框架,可以说,安卓机一出厂就增添了许多无形负担。

另外,国内不少软件厂也被“猪油蒙了心”,研发的APP堪称流氓,算法差占用资源多,就算用户关了它也在后台偷跑。更可气的是乱用权限,我至今记得当年某个手电筒APP请求访问我的通讯录,不给它连基本功能都不让用,可谓无耻至极。而安卓又在这一方面放的很宽,不像IOS连文件夹都不轻易给用户看的。

安卓自身特性

安卓系统说到底,就是在LINUX内核基础上增添了一些自己的东西,说他是一个系统,倒不如说就是一个虚拟机。另外,由于在安卓中运行的程序几乎都是拿java语言编写的,所以安卓系统还得增加一个虚拟机来支持这些软件的运行。而虚拟机自身又是非常消耗系统资源的,同时也增加了硬件的负担。


所以说,安卓确实在某些方面比不过Linux,但它也有自己的独到之处,毕竟也是全球最为普及的移动操作系统啊!


爱思考的奥特曼


大家感觉安卓系统乌烟瘴气的原因无关乎内核,而在于OS和所谓的生态把控。

iOS之所以让人感觉干净,并非完全因为内核优秀,而是其对iOS的完全所有权、软件开发机制和上架软件的严格把控。苹果公司的AppStore是软件安装的唯一渠道,可以有效防止流氓软件以其他方式下载和安装,这是其一;AppStore上架的每个软件都由人工审核,不达标准的不给上架,可有效杜绝垃圾或流氓软件流入用户终端,这是其二;AppStore的运营虽然需要庞大的人力物力,但它是iOS平台干净的重要保障,也是iOS的灵魂所在,所以库克在回答关于拆分AppStore业务时给出了否定的回答。

其实不只安卓,Windows平台也很混乱。造成这一结果的原因有两个:一是OS开发商的设计方向,二是软件发布管理机制缺失。

首先说第一个:乔布斯曾说,一个公司的好坏完全由创造它的第一批创始人决定的。很有幸的是,苹果团队拥有乔布斯。乔布斯不但对产品严格,对人同样严格,正式这种品格才缔造出了苹果帝国。在乔布斯的领导下,苹果向着高端、专业、美观易用的方向发展,追求产品的极致美而非纯粹的营收(与微软不同😒),当然这很大程度上是因为苹果没有走完全靠软件授权来挣钱的路,可以完全没有顾虑地只升级现有的一个系统,专注于安全升级和功能升级。

反观Windows系列,产品体验之所以相较较差,很大原因是由盈利模式决定的。微软靠纯粹的软件授权来营收,为了利润,不但将安全更新和功能更新分开(大的功能更新相当于Windows的版本升级,需要付费购买),而且不遗余力划分出多个产品线来销售(参考Win7的6个系列:Starter、Home、Home Advanced、Professional、Ultimate、Enterprise,Win10的5个系列:家庭版、专业版、专业工作站版[新增]、企业版、教育版,Office的4个系列:学生版、家庭版、专业版、365订阅版,真真正正把赚钱的本事发挥到极致!!)。由于其面向的用户群体广泛并且精力有限,所以其追求极致的美观与易用就非常困难,而是能用即可,在能用的基础上,能改善多少改善多少。改不了的话,外下一次迭代时去掉。没错!鸡肋功能你想去还删不掉。

PS:现在的人们经常把微软看做技术公司,而把苹果看做销售公司,我的看法完全相反,微软是以利润为导向的,苹果才称得上以用户体验为导向的)。

这里我们来说一说产品线冗杂的坏处:首先针对每一条产品线都要进行专门的维护,虽然各自之间有相容性,但只要有一点不同,就可能产生不同的问题,有了问题就一定要解决,这是必须的,于是产品线越多,维护团队越大越臃肿,产品维护越困难,很可能会出现为解决一个问题而引入了更多的问题这种情况,这是由于资源紧张造成的。

当然了微软还是有办法😉:限制支持年限,来缓解这么多产品线维护带来的压力。

最后说一下安卓。安卓要分国内和国外两个角度来看(国内的安卓和国外有谷歌服务的安卓一个地一个天,就这么任性😎。引申一下,虽然很不愿意承认,没了谷歌服务的华为手机,在国外并没有什么吸引力)。国内安卓平台控制力差,软件把控不严,造成参差不齐的软件层出不穷。而国外安卓的软件无法单独从网上下载安装软件,通过Google Play统一安装渠道,垃圾软件泛滥的情况很少,体验才接近iOS那样丝滑般畅爽。


Madenhaire


谢谢邀请!

Android和Linux生态以及面向的用户群体完全不一样,自然最终的结果也就不一样。

Android系统多了一层虚拟机

熟悉Android系统开发的研发同学就知道,Android系统在Linux内核的基础上又重新定义了很多东西,其中比较重要的一个就是Android运行环境,说得直白一点就是Android虚拟机,这个Android虚拟机本质上是Java虚拟机。

Google当年做Android的时候,考虑到要尽快俘获更多的开发者,尽可能的降低Android开发的门槛,选择了Java这门编程语言,这门编程语言开发者众多,并且也是开源的,短时间就获得了大批开发者。

不过这样的代价是,在Android上必须多一层安卓虚拟机来支持Java程序的运行,Java为了能够跨平台又把自己做成一个虚拟机语言,当然虚拟机的缺点就是非常耗费硬件资源,这就让Android对硬件依赖非常大。

Android厂商负优化、应用权限太大

Android为了尽快的占据市场,而Google自己又不做手机,于是Android就走了完全开源的道路,开源的好处是能够得到更多硬件厂商的支持,坏处自然就是生态极其混乱。

Android系统到了各大手机厂商之后,先来一堆各种各样的预装,再添加一些自己想要的推广服务,Android不经意之间就变得越来越重,而且Android厂商权限太高了,基本上可以对自家的Android UI为所欲为,本质上深度定制就是负优化。大家可以去比较一下一加氢OS和其他国产安卓厂商的UI你就会发现,干净的Android是多么出色。

国内的应用开发商也不遵守游戏规则,各种滥用权限,这一点Android又放开得比较大,不像iOS,通知权限、通讯录权限、短信权限都是管理得比较严的,你如果不遵守游戏规则,结果就是你上不了App Store,而App Store是苹果唯一的商店。Android不一样,海外还有Google play,可是到了国内小米商店、华为商店,各种商店乱七八糟,上不了Google play对应用开发商没有任何影响,甚至你直接甩一个安装包都能行。

大部分应用90%以上的功能都是没有用的,比如支付宝这种软件太过于臃肿,其实大部分功能都无用,中国的App恨不得一个软件把你的吃喝拉撒睡全都管了,太臃肿了。

Linux面向专业用户、Android面向C端用户

Linux主要是面向B端等服务器市场,主要是软件工程师、运维工程师等,这些都是具有很强专业能力的专业用户,自然对自己的系统管理也比较好。

Android系统主要是面向C端用户,C端用户的使用习惯参差不齐,而且用户群体十分庞大,基本上全球几十亿人都在使用,用户越多自然麻烦也就越多。

Android之所以乱七八糟,还是因为生态管控力不够 ,首先是在我国国情下,Google没办法进入中国市场直接管理Android系统,其次尽管在海外Google有一定的生态管控能力,可是Android本来就是开放的,自然不可能像苹果管理得那么好。


本文为字节跳动签约作者EmacserVimer悟空问答原创文章,未经允许转载、抄袭必究!

EmacserVimer


你这个问题没有答案😂

1 先得搞清Linux系统的概念,什么叫Linux系统?

你所说的Linux系统是个大范围概念,Android 本生就是一个Linux系统,和Android平级的得称为GNU/Linux系统,该系统除Linux内核外其余部分主要是由 GNU 工程编写和提供的程序组成。

2 Android 系统是什么,脱离GNU/Linux目的是什么

Android 为了达到商业应用,必须移除被GNU GPL授权证所约束的部份, 比如基本的GLibc库就被Android的bionic库代替,也并非使用标准的kernel header files,因此你说的迁移根本是不可能发生的,Android为了商业化都是远离它们

3 你说的Linux稳定干净的前提也是不存在的

GNU/Linux系统有很多分支,比如主流的Debian就是一个GNU/Linux系统的一个发行版本,基于它的衍生版本还有Linux Mint 和 Ubuntu等等,10个指头都数不下,而且质量差的垃圾系统一大推?他比Android 干净?稳定更不用说了,这些操作系统用的用户量全部和起来都没有Android一个手机厂家的用户量大,稳定性根本经不起考验。商业利益很大程度决定了系统的好坏。IOS为啥比Android稳定,商业环境好,开发有钱赚,就会质量越来越高,这是一个良性循环,你去开发一个没人用的Linux系统,你就是投入1个亿也稳定不了

总结来说,基于一个错误前提的提问是得不到一个正确的答案的😂



拉那烈


这个和Linux内核没有关系。

同样是Linux发行版,Fedora,Ubuntu安装好后占了好多个G,而tiny core linux只占用12M,这是为啥?在于内核的裁剪和应用程序的选择打包。只打包命令行应用,则体积小巧,占不了多少空间。如果是针对普通的办公应用,则一些Office的软件本身就很大。

Android是一个Linux内核,加上Java虚拟机,然后运行各种Java代码编写的应用APP。本身可以精简,也可以臃肿,取决于手机开发商打包了多少。

乌烟瘴气是事实,来自于两个方向。一是手机开发商,内置了很多不让删除的软件包,开机自动运行,用于收集用户数据;二是各路应用开发者,非常的没有人品底线,要求所有的手机权限,也是为了收集用户数据,或者乱弹广告和提醒。但实际上,谷歌发布的Android本身是挺干净的,如果你刷了原生的Android固件,那手机很流畅,也很清净,只是本地化可能不好,比如输入法不好用,天气预报没有,来电分类没有,等等。

谷歌也不是好人,虽然安卓开源,但是它通过安卓在过去十年内赚了几十亿美金,怎么做到的呢?也是收集用户数据呗。


聊科技爱生活


1,不完全的linux,安卓整个系统只是linux的一个软件,所有的安卓应用都是跑在一个罐子里。性能当然…

2,不守规矩,Google设计安卓时为了让更多厂商加入生态,所以开放了相当大的权限让厂商凭良心发挥。显然大多数厂商没什么良心…

这些应用开机自启,互相唤醒,双进程守护,跟随系统事件启动,反正只要有机会就运行…你插个充电器都能启动两个应用,顺便再唤醒三个,而且用户不知道,这就好比电脑同时运行了好几十个qq,一般的电脑都会卡成狗…

3,硬件原因,一两年后安卓手机即使恢复出厂设置都会卡,就是硬盘在频繁读写下性能大减,甚至用用的就卡死。

4,过度开发,安卓和苹果给出的界面方案完全不一样,但是苹果的好看啊…于是安卓应用界面都模仿苹果,造成大量资源浪费,应用启动慢,运行也卡。


杂事杂物


Android系统的底层设计是定制化的Linux内核,只是Android系统在底层系统上面又增加了一层叫做Dalvik的Java虚拟机,而Java语言的特性是跨平台的,缺点是在程序运行的时候比较注重硬件的配置,硬件配置过低的话,运行的速度就会很慢。但是Google公司,为了让安卓系统中的Java虚拟机能够在每台智能设备上高效的运行,dalvik虚拟机被改写,这样可以使得内存的使用降到最低。

Android系统和苹果IOS系统两者的开发语言对比,苹果IOS系统中很多模块都是用C语言和汇编语言搭建而成的。基于开发语言,我们可以说是IOS是最贴近硬件的系统,这样一来程序执行的效率也就较高,虽说Android系统集成了Java虚拟机,但是为了兼容,在设备的硬件和软件程序间新增了一个独立硬件的调用层。程序通过虚拟机然后经过调用层才可以操作硬件。

其次就是Android系统对第三方软件的管理过于松散。Linux系统上运行的软件一般都是通过开源社会提前审核通过的开源软件,这样一来软件的安全性以及规范性都是可以得到保证。Android系统运行软件一般都是由第三方开发的闭源软件,而且在国内,根本没有针对第三方软件的比较严格审核平台以及规范性文档,国外至少还有Google Play这个平台。基于Android系统的开源性质,很多厂家自然就随意对安卓的应用软件层进行修改。甚至还可以进行深度定制化,然后在手机出厂后,对手机系统预装各种与自家公司相关的推广软件,并且限制这些软件不可别卸载。

按道理来说,Android系统和Linux系统两者可以说是嫡系的关系,两个都应该在软件的流畅度和安全性方面十分出色才对,但事实上,Android手机却成为很多诈骗人员活跃的地方,也是很多流氓软件盗取用户信息的地方。这其中的部分原因是Android系统是一个很火热的开源系统,代表着巨大的利益,而很多手机厂商为了让自己产品更有卖点,进行了Android系统进行了深度定制化开发,造成部分漏洞。另一方面是开放自己的应用商店,不对第三方软件进行限制,任由其随意的在Android手机安装应用,各大厂商的应用商店几乎没有任何深度的审核就能安装各种软件。

说到底,其实还是系统开源后不进行规范管理造成的,国内智能手机的应用市场很多,APP可以在任何一家应用市场上架。


凯腾凯


干净稳定,是有代价的。

需要牺牲一定的自由度(由某机构管理)或方便、易学性(自己管理)。


比如一般的 Linux服务器系统干净稳定,那是在专业管理员的维护管理之下,牺牲了一定的方便、易学性。新手管理的Linux系统崩溃可是常事。


再比如,iOS系统,相对Android干净稳定,那是牺牲了一定自由度(App全部由苹果审核、管理)得来的。


安卓系统的高度自由,众多的App商店,你审核我不审核,带来的是各自由的App抢占系统资源,偷偷做各自想做的事,自然从用户角度就容易觉得乌烟瘴气了。


分享到:


相關文章: