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

谢谢邀请!

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悟空问答原创文章,未经允许转载、抄袭必究!

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

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

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

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

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

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

希望能帮到你。

干净稳定,是有代价的。

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

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

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

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

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

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

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

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

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

安卓哪里臃肿了?!是安卓app不要脸吧。逼呼菊花手环,需要安装三个app,平均每个app单是安装包就超过80m,再比如微信,内存占用差不多一个g(内存,不是闪存。)要我说安卓已经很了不起了,要不是继承了linux优秀的内存管理,早就崩溃了。

我也想过这个问题,为啥不控制安卓下APP的自启和后台泛滥,结论是吸引开发者开发免费APP。天下没有免费午餐,如果一个APP不能常驻手机内存收集用户数据做大数据分析,又不能在后台推广告,那就必然只有收费一个途径,要不然谁愿意开发APP,安卓也成不了今天的气候。

在这之前我想问大家一个类似的问题:1985年微软发布的Windows 1和2021年发布的Windows 11有什么区别?

要知道如今Windows 11的系统安装包大小在4G~5G之间,而Windows 1的系统安装包仅有300KB左右。毫无疑问Windows 11比Windows 1臃肿了无数倍。Windows 1能作为现如今的生产力工具吗?显然是不能。

翻看Windows近50年的历史我们就会发现Windows每一个版本都会增加许多新的功能,可不仅仅是界面变得花里胡哨更好看了。实际上就算实现一个非常小的功能,就需要大量的代码作为支撑。

在前台操作的我们可能很多功能都没有用到,但确确实实有很多人因此而受益了。俗话说“众口难调”,而微软却在调制一款符合绝大多人口味的Windows,这也是Windows这么多年仍然占据桌面操作系统80%以上市场份额的原因,微软的Windows同样遵循着摩尔定律和市场需求在不断变胖。

Linux是啥?

很多人都把Linux和Windows、MacOS放在一起做比较,这也并没有什么错。严格意义上来讲Linux是一个遵循GNU通用公共许可证(GPL)的开源作业系统核心,它包含了图形界面和其他使用工具,任何个人和机构都可以自由地使用Linux的所有底层原始码,也可以自由地修改和再发布。

从Android的系统架构图我们就会发现,Android同样基于Linux内核。2017年3月Android全球设备数量和网路流量超越了微软的Windows,成为了全球第一大操作系统。毫无疑问,Android之所以能够取得这样的成功在于Google在Linux内核的基础之上做了一些改变和创新。

Android系统的改变和创新

上面提到Linux是GPL开源协议,按照这个逻辑下去,高通、MTK这些芯片厂商的驱动都得开源,这个他们是不愿意的。谷歌于是就在Linux的上层添加了HAL层(Hardware Abstract Layer)将内核和驱动程序隔离了,这样Linux社区就不会认为Android是Linux的分支版本。芯片厂商不用开源驱动,隔离驱动之后系统升级也就变得更为简单,简直就是一举两得。因此Android采用了Apache开源协议,对免费开放的Android系统修改之后可以不进行开源。

很多人都在吐槽Android采用了Java和Dalvik/ART,大幅的拖慢了软件的执行效率。Android采用Java初衷挺简单的,就是让庞大数量的Java程序员可以非常容易地转到Android开发,这样短时间就可以丰满Android的生态系统,这点和独立专行的Windows Phone形成了鲜明的对比。既然选择了Java那么逃避不了的就是虚拟机,于是就有了Dalvik,而ART其实就是优化之后的Dalvik。

Android并没有采用直译的机器码来运行,而是采用了Runtime,很大一部分原因基于“手机”来进行考虑。手机必然有很多用户的隐私数据,所以就需要为每一个APP定制相互隔离的沙盒环境,Runtime就是这样诞生的。

Android杀内存这件事也同样被很多人吐槽,很多人都拿IOS的“墓碑”后台做对比。Android杀内存是因为早先的Android系统内存太小了,几百M是非常常见的,所以Android就设计了Low Memory Killer来干掉很久不用的后台APP,留给用户当前能看到的APP用。

如今Android原生版本其实对于后台APP是相当宽松的,内存显然够用了,强杀内存的策略一般是手机厂商自己定制的,这样手机就可以更省电,而用户也能感觉手机可以非常流畅地运行。

总结

谁曾想到原先展开仅有几百M的安卓系统,如今展开有10GB大小,如今任何一个程序都比之前的安卓系统大。微信1.0仅有457.7KB,仅有文字聊天功能,如今微信添加了各种各样的功能,比如语音信息、朋友圈、支付、小程序等等,如今微信安装包150MB左右,用一段时间之后轻轻松松就近10GB。软件、系统越来越臃肿的原因在于给我们提供了更多的功能,方便我们的日常生活、工作。所以还就真别较真Android变胖了,实际上IOS也变胖了。


以上个人浅见,欢迎批评指正。

认同我的看法,请点个赞再走,感谢!

喜欢我的,请关注我,再次感谢!

说实话,不觉得linux干净稳定了……android不装乱七八糟的应用也挺干净的。linux里面经常你也不知道很多配置和依赖文件被开发者扔到了哪个犄角旮旯,相比于android,你觉得linux干净的原因是因为你没装过很多个人开发者或者小团体开发的应用。android反而是一堆,要是这些开发团体也跑去linux给你开发应用,你就会觉得linux也臃肿和乌烟瘴气了

百变金钢侠观点:导致用户体验差很少是因为技术问题,更多则是因为商业问题。

Android是一种基于Linux的自由及开放源代码的操作系统。我对这两个系统的使用体验是,linux系统安全性能极佳,但更加需要习惯使用键盘,因为用键盘操作命令远比鼠标快捷方便,不过选择中文语言输入法支持不太好。大多数优秀的软件包比如C语言和Python都是基于Linux平台编写的,纯正的Linux系统更适合专业人士。而安卓系统底层操作系统用到了Linux的内核,但上层应用系统完全自己构建,生态链更加普及和完善,对各类app兼容度很高。不过手机的配置再怎么也无法与电脑相比,所以安装app多了就会造成卡顿。

目前安卓系统市场占比接近90%,除了苹果手机,几乎所有手机都采用安卓系统。安卓系统几乎承载所有APP的安装。随着市场发展,技术进步,安卓体统不断适应市场需求,从最初的1.0升级到了现在的9.0版本。过度市场化导致安卓手机需要不断适应市场做出改变,而手机配置有限,容易造成卡顿现象。所谓做的多错也多,人们对好的地方容易视而不见,对稍微差强人意的地方总是过分埋怨。不过市场是公平的,安卓的市场份额就是对安卓系统最大的肯定。

随着苹果销量下滑,相信目前大多数人用的都是安卓系统了。随着处理器等硬件水平发展越来越高,安卓的使用体验越来越好。除了安卓系统之外,建立在安卓体统上的手机系统也是影响使用体验的关键。我目前用的华为,目前手机系统版本已经升级为EMUI9.0.(在这里首先感谢华为免费升级的良心之举),简约流畅的EMUI得益于底层编译优化和AI精准预测技术,系统响应速度和应用启动时间大幅缩短,操作流畅度明显提升。在安装多个应用程序并且使用半年不清理的情况下,并没有出现卡顿现象。

Linux因其专业性在专用领域不可替代,Android因其海纳百川而雄霸市场。Android是开源代码,更容易让人找到漏洞,商业化又会导致鱼龙混杂,安卓系统也更容易受到攻击。现在太多的App加了很多功能,并且在后台运行程序,捕捉用户行为,导致系统的内存越来越不够用,手机越来越卡顿。所以在下载App的时候一定要谨慎开通各种权限,一方面防止手机越用越慢,另一方面防止隐私泄露。

关注:百变金钢侠,专注传统行业智能化,带你换个角度看世界。

众所周知,现在智能手机操作系统主要有两大类:Android、iOS,采用Android系统的智能机品牌厂商很多(如:华为、Oppo、小米、魅族、三星、还有一些杂牌机等等),而iOS系统只有苹果的iPhone在用。很多人在购买手机时都会偏向iOS,无论是性能上还是体验上iOS要优于Android。

站在技术角度上说,Android是基于Linux内核开发的一套新系统,那为什么Linux内核及系统干净稳定,而Android系统给人的印象就是臃肿、运行速度慢、流氓应用多呢?

Android系统是基于Linux内核开发的

Android系统是谷歌(Google)公司基于Linux内核开发的一套开源商业系统,主要面向手机终端设备的。从本质上讲,Android也是属于Linux系统,只不过和其它Linux类系统不同的是,Android系统里用到了虚拟机技术(Java虚拟机),所以和Linux类系统差别很大。

因为虚拟机本身就是一种开销,所以在性能上,Android系统肯定比不上其它的Linux类系统。

谷歌公司只负责系统开发,没有控制住Android的生态

虽说Android系统是谷歌开发的,但谷歌自己并不生产制造手机,而系统最终是要运行在终端设备上的,问题来了,Android系统交给众多手机厂商去适配,每个手机厂商对Android系统都会做一定优化及定制(比如预装一些软件),这样一来在源头上就无法把控Android系统的生态!

除了系统和手机设备外,还离不开各类App应用的支持。如果我们用的是Android手机,想装一款软件的渠道有很多种,比如:

  • 网络上下载的apk文件进行安装;

  • 各类应用市场进行安装。

看似很方便,其实这种“便利”让Android的生态变得更差,各类App应用质量参差不齐,装上这些App你的手机不慢才怪。

iOS之所以干净高效,靠的是苹果的把控

对标iOS系统,为啥iOS系统及应用给人的体验好,苹果iPhone比Android机卡顿情况要好?真的是Android系统比不上iOS系统吗?

未必,iOS之所以体验好是因为苹果公司对于App应用的开发、应用上架把控相当严格,而且苹果的iOS只能运行在苹果手机上。这些措施使得苹果的生态很干净,不存在一些垃圾流氓应用。

以上就是我的观点,对于这个问题大家是怎么看待的呢?欢迎在下方评论区交流 ~ 我是科技领域创作者,十年互联网从业经验,欢迎关注我了解更多科技知识!

未经允许不得转载:科普Room » 同样的内核,为什么linux干净稳定,而android臃肿又乌烟瘴气?

搞事情!那些不能说的秘密都在这里   关注公众号:科普Room  

         

赞 (0) 打赏

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏