人文艺术 > 为什么安卓系统用久了会卡,苹果系统却依然流畅?谁能科普下,比较容易懂?

为什么安卓系统用久了会卡,苹果系统却依然流畅?谁能科普下,比较容易懂?

2020-11-01 10:35阅读(61)

为什么安卓系统用久了会卡,苹果系统却依然流畅?谁能科普下,比较容易懂?:手机用的时间长了会变卡已经是大家公认的问题,无论是安卓系统的手机还是苹果系统的

1

手机用的时间长了会变卡已经是大家公认的问题,无论是安卓系统的手机还是苹果系统的手机都会变得奇卡无比,相对来讲苹果系统在流畅度上更加平滑一些,到底是什么原因导致手机系统变得如此卡,现在各个维度做个大致的分析。

手机系统卡原因分析

手机安装的应用软件过多。特别是安卓系统应用的安装途径非常多,经常有一些非常规的应用安装在手机里面,时间长了积累的多了,有些手机甚至安装了上百个应用,在这中情况再牛的机器配置也经不起如此多应用的消耗,而且很多应用启用后台执行方式,所以装的越多手机越卡,特别是一些国内应用厂商,经常给应用升级,升级的结果是占据的资源越来越多,手机变得越来越卡顿。

手机磁盘积累的文件太多。由于刚买的手机的时候里面的东西比较少,随着用的时间长了很多硬盘文件,都堆积在一起,堆积的越多手机在访问的时候越是变得卡顿,所以华为手机针对文件系统的访问做了erofs文件系统就是为了减缓这种递归影响手机性能,如果存储的文件足够多对于系统访问相当于有一个极大的负担,堆积的越多手机卡顿的越厉害。

安装了有危害的应用。有些应用在开发过程中非常不规则,不停的在扫描硬盘或者搜罗用户信息,这种应用用不了安装很多就能把手机搞得十分卡顿,所以在平时使用过程中不要轻易安装不被信任的应用,很多主流的应用占据的资源也是相当恐怖的,就拿微信和QQ来讲占据的内存和文件资源都会比较大,时间长了性能自然会受到影响。

手机硬件老化。特别是闪存颗粒如果使用的寿命到了,对于手机性能影响还是非常大,所以新的手机体验会好一些,用的时间长了自然就会有衰减,主要是闪存颗粒。

安卓机制层面问题。安卓在机制上在手机应用变多的情况下,性能会下降很多,所以华为围绕着安卓已经做了很多改进工作,现在高配的华为手机在体验上要比原版的安卓性能提升了许多,虽然谷歌对于安卓的优化一直在持续,由于架构方面的影响,提升空间已经非常有限了,再加上安卓系统整体管理上没有苹果那么严格,在机制上更加容易出现问题。

安卓和IOS有何区别

经过上面的分析,有些手机永久了卡顿不一定的本身系统的问题,相比来讲安卓系统手机更加容易导致卡顿一样,为什么苹果手机比较之下显得更加流畅一点。

生态机制不一致。IOS是完全的闭源系统,无论是硬件还是软件都是苹果一家公司说了算,就连安装的应用不经过苹果商店是安装不了,而且苹果商店对应用的审核更加严格,硬件上也是完全苹果公司主控,所以在优化的时候能够上下一体来配合,这是ios最大的优势,相当于是独立王国,什么不受任何规则的限制,但由于这种系统太过于封闭,注定在生态系统上没有安卓发展的旺盛,在苹果手机一直强盛的时候,这种生态没有什么问题,主要靠产品来推动生态系统的发展,如果产品跟不上生态系统会受到很大的限制。

虽然苹果手机在产品上独特之处但整体的运营模式还是脱离不了苹果的文化,独特的私有文化,从苹果电脑市场占比就可以看出来,未来苹果手机会变成市场上的高端手机的代表,而且占据的比例不会太高,也不会消失毕竟市场需要更多差异化的东西。

安卓系统由于代码开源任何一家手机厂家拿到谷歌授权都可以拿过来使用,所以在硬件配置上参差不齐,规则的不一致也会造成结果的不一致所以安卓手机相对来讲问题会更多。

设计架构差异。安卓属于宏内核,IOS属于宏内核和微内核结合的结果,所以在搭配多种硬件资源上苹果系统会更加占据优势,所以功能越强大,安卓系统更加容易卡顿,相比来讲苹果手机更加流畅一些。

整体来讲手机卡顿是多方面原因造成的,不仅仅是简单的系统差异造成,所以要理性看待一些问题,尽量少安装应用,手机每隔一段时间整理下硬盘,可以适时的关机下,让电池修整一下,能延长手机的使用寿命,希望能帮到你。

2

感谢邀请

为什么安卓系统用久了会卡,苹果系统却依然流畅?谁能科普下,比较容易懂?

科普倒是不敢讲,只能说说自己的一些看法,现在的安卓旗舰手机至少用2年的时间是没有任何问题的,至于你说的卡顿是之前安卓的卡顿,或者是很多人拿着几年前的手机或者是千元来做对比,当然我们不可否认的是ios系统显然仍然是相比安卓有优势,造成这种差异化的原因,其实有三个系统的运行效率不同,以及后台机制的不同,以及生态环境不同:当然前提我们使用的安卓系统不是原生的,是经过各个厂商优化来的,所以其实已经加入了更多的功能,而ios系统没有经过点缀,所以刚开始已经有了区别:

1.运行效率的不同:

  • 安卓系统和ios系统两者编写程序的语言不同,ios是Objective-C编程的优势是效率高,但是相比安卓JAVA的优势则是跨平台不过运行效率相对偏低,其实这两个编程语言所带来的机制不同,就已经造成了各自系统之间的流畅性差异化。

  • 效率高的原因就是系统处理任务的方式不同,比如苹果手机,我们一直说过度动画很自然,这是因为iOS对屏幕反应的优先级是最高的,简单点来说的话,就是当用户只要触摸接触了屏幕之后,系统就会最优先去处理屏幕显示(Touch这个层级),也就是你点开一个APP之后,直接就点开了。

  • 而安卓手机的运行机制是APP都是一直在虚拟机中,你点开APP之后,首先需要的是由底层传输数据到虚拟机中,再由虚拟机传递给用户UI,因为Java语言因为虚拟机的存在,二次转化再执行效率就要低很多。而这次的华为方舟编译器就是解决这个方面的问题,省去了中间的步骤。

2.后台机制不同

苹果手机为什么运行内存那么小,但是系统也可以流畅运行,就是后台算是假后台,我们简单点来说的就是,比如我们打开一个APP之后,我们回到主界面的时候之前的软件就相当于暂停使用,不再消耗RAM,所以你会发现比如你再次载入APP的时候,发现还是在你退出来那个界面。而安卓是真后台,即使你退出软件,软件也会在后台自启,继续占用你的RAM,而RAM是有限的,当RAM剩余太少的时候你就会感觉到卡顿。同时,后台的程序运行也会占用CPU资源,使手机处理能力下降,这也是安卓手机需要通过使用更高的配置来提高流畅度的原因。

3.生态环境的不同

  • 安卓手机不管你的软件来源是哪里,比如手机自带的商店,还有百度,还是有其他都可以下载,这也是很多人为什么拿安卓手机当做是备用手机,就是方便下载软件,因为安卓是开源的任何软件开发商或者个人都能开发安卓的软件,也正是由于开源和各个品牌手机硬件差异极大,导致安卓手机的系统体验各有差异,软件兼容性也不如ios。

  • 而苹果手机你的软件来源只能是应用商店,所以导致了一些不正规的APP违规占用后台内存和其他方面的一些问题。

总结

  • 当然苹果手机处理器性能的强大也是一部分的原因,因为单核心能力强,所以我们平时使用的时候只需要用到单核心,而刚才讲过了苹果在运行一个应用时,另一个是暂停的,所以单核心的能力强优势就体现出来了。

  • 安卓要运行虚拟机,这样就加重了处理器的负担,加上安卓系统的多样性,开发者需要对不同系统进行定制,所以优化不佳;而苹果可以限制开发者的开发方案,iOS系统只需要保证几款iPhone、ipad等苹果自己的移动设备上的运行体验即可,而Android则需要兼顾尽量多的已存在和未存在的不同硬件组合,在可控的环境内对系统做针对性的优化。而且刚才讲过了两者的运行效率,Android采用的Java语言因为虚拟机的存在,二次转的效率相对较低。


回答完毕

欢迎留言发表不同的看法和想法:

3

    众所周知,iphone使用了苹果的IOS系统,长期使用仍然能够保持很好的流畅度,IOS系统的高流畅度来来源于三把利剑:应用审查机制、消息推送机制和伪后台。下文具体说一说。

    1、伪后台机制

    Android从一开始允许后台,用的是serviece组件,意思就是当你退出某个应用时,在后台仍然运行,占用内存空间。只有内存告急时,系统采用通过Kill Service释放资源,这个也是android系统卡顿的根源。因此,安卓系统比较“吃内存”,内存越大越好。


    IOS系统,如果应用不在前台,那么内存空间就会被清理,后台应用以墓碑的形式(退出前状态)保存在内存,用于实现快速启动。因此,iphone 8的内存虽然只有2G,但是很少卡顿,运行大型游戏,同样可以实现高帧率。

    2、消息推送机制

    IOS的推送是统一挂载在苹果服务器上,不启动应用也能收到推送信息,原理是消息由APNS(Apple Push服务器)统一管理,因此即便关闭了微信,重新启动之后仍然能够收到信息。

    安卓系统通过google的GMS服务统一推送消息,由google的服务器转发给用户,但是我国的安卓手机均“阉割”了GMS服务,再加上goolge不在大陆,所以国内的安卓手机直接推送消息到用户的手机。因此,国内android生态整体比较混乱和不规整。


    3、应用审查机制

    苹果的IOS系统,属于闭源软件,需要通过App Store下载应用软件,苹果应用有专门的审查团队,只有符合要求的APP才能在苹果应用商店上线。

    Android系统应用的门槛较低,缺乏相应的审查机制,因此国内的anroid应用市场比较混乱,存在广告、泄露个人隐私等问题,还有各种流氓软件,占用了大量的系统资源,导致android手机越用越卡。


    上文从操作系统层面解释了一下IOS系统和android系统的区别,严格的app审查机制、apple统一推送机制、伪后台保证了IOS系统的流畅度。当然与苹果的A系列处理器强大的功能也是分不开的。

4

作为一名程序开发人员,我从系统层面来回答一下题主的问题。

为什么安卓系统永久了会卡?

  • 垃圾回收机制

安卓系统是基于Linux内核的系统,安卓系统运行的APP是基于Java语言开发的。提到Java就得提到Java的垃圾回收策略,这也是安卓手机用久了会卡的始作俑者。Java的垃圾回收算法有好几种,具体我就不跟题主普及了因为不太容易懂。简单来说,我们使用安卓手机的时候,系统会把很多变量、对象、计算(我们打游戏、上网等操作)等加入到系统的内存中,内存本来就那么大,如果这些变量、对象堆积的太多,系统内存空间就会变小,可使用的内存空间严重不足,程序运行就会变的卡了。所以对这些变量、对象的清理将是释放内存的解决方案,但是Java对垃圾(上文提到的变量、对象等)的回收是系统层面决定的,程序开发人员对垃圾的回收不可控,当一些变量、对象不再使用的时候,系统并不会及时清理它们。根据它的垃圾回收策略,当这些垃圾堆积到一定的量,经过系统判断哪些可以回收了就把它回收,这个判断过程也会存在一些误差,导致一些垃圾没法被回收,这些顽固垃圾日积月来占用着内存,内存变的越来越小,系统就变的越来越卡。这就是为什么现在8G内存的安卓手机用久了也会卡的原因。

  • 程序编译机制

安卓系统的应用运行要先把Java程序代码加载到安卓虚拟机中编译成安卓系统可以运行的机器码来运行,这个过程是需要消耗时间的,这也在一定程度上导致了安卓程序的运行不流程。


为什么苹果系统用久了却依然流畅?

  • 垃圾回收可控

苹果手机使用的系统是苹果自主开发的iOS系统,iOS系统是基于C语言开发的。C语言的一个优点就是,对垃圾回收可控。程序开发人员在程序开过的过程中可以实时、精准释放不用的对象、变量。这样,在我们使用手机的时候,产生的对象、变量就会得到及时的释放,不会一直占用着内存,所以内存占用率较低,程序的计算效率大大提高,系统也保持流畅。

  • 系统适配硬件

另一方面,苹果的iOS系统是基于适配硬件开发的,就是可以把硬件的性能发挥到极致,这也是苹果手机为什么流畅的一个原因。而安卓手机则不同,安卓的系统全适配,并没有完全发挥硬件的性能。




个人拙见,欢迎诸位评论交流!

【我是小马锅,欢迎您关注、支持我!感谢!】

5

发表一下个人观点

问题中提到的安卓系统用久了会卡,请设定一下这个用久了是多久

以我的安卓和IOS经历来说

2015年9月购入iphone6 128G,800多美元,很流畅,很快,大约一年之后开始速度变慢,电量下降很快,到17年的时候已经很慢了,打开app的速度很折磨急性子,至于这样的情况我认为不是iOS的问题,而是手机硬件的问题,听说那一代iphone质量确实欠佳,不过不敢确定,朋友的iphone5se一直很流畅,很好用,ISO确实没问题,很好用

之后华为mate10系列开始崭露头角,于是在2017年12月左右购入mate10pro,6G+128G 全网通,价格应该是5400人民币左右,差不多也是800美元上下,所以档次应该是有可比性的,到今天为止差不多已经一年10个月,电量有点下降,流畅度方面丝毫不影响,这是事实

9月20日,iphone11美国开始正式开卖,我预付款买一台送给亲人,所以20日准时货到家里,ISO一如既往的流畅

我今天想说ISO系统流畅度方面毋庸置疑,但是今天的安卓也已经不是8-9年前安卓刚刚开始的时候,经过各个手机厂商的优化,我的观点是已经足以达到媲美ISO流畅度的存在,至于用久了会卡这个问题,我们在问这个问题之前先想清楚,“用久了”到底是多久,我认为到今天,和iphone同价格的安卓手机系统流畅度丝毫不落后于ISO。

非专业,仅个人经历与观点,不喜勿喷谢谢

6

就拿一个编译方式,谷歌就在Dalvik、ART、AOT来回纠结了很久,技术选型、以及分发管理方式是造成安卓会这么卡的根本原因。

原生Android还是非常流畅的,只不过中国市场用不到原生Android,Google服务被阉割没有本地化的服务补充也没办法用,国内比较接近原生Android的是一加的氢OS,其实已经做得非常好了。

安卓碎片化严重、国内Android生态混乱

为什么Android会碎片化如此严重呢?尽管到了今天,Android的碎片化还是非常严重,这主要还是Android的分发方式造成的。

大家也都知道iOS和macOS,包括现在的iPadOS,都是在相对比较单一的硬件平台下运行的,这些操作系统只会出现在苹果硬件上,苹果有足够的精力兼顾到几乎每一代每一款产品。

Android和Windows不一样,生态太乱了,品牌众多、设备繁多、版本乱七八糟,每个厂商的硬件也是纷繁杂乱,就拿屏幕来说有各种各样的分辨率,还有水滴屏、额头屏、打孔屏,处理器有高通、有海思麒麟、有联发科。

到了手机厂商这儿,每个厂商又都有自己的定制UI,在中国市场还要把谷歌服务用户本地服务填补起来,每个厂商都有一套自己的游戏规则,最终安卓生态越来越混乱,隐形开发成本增大了很多,碎片化也越来越严重。

大家还不遵守规则,国内的应用开发者基本上一般是流氓,剩下的一半即将成为流氓。一个应用做了N多功能,不管你用不用,然后就各种乱调用权限,还偷偷监视你、上传你的敏感信息等等,当一个应用想方设法在做这样的事情的时候,那么一定是非常重的。

Android消息推送机制、伪后台机制:随时随地都想给你say hello

Android跟iOS不一样,iOS的消息推送都是系统统一管理的,也就是说你想推送啥得通过我的同意才行。Android则是完全另一番光景,每个应用管自己的事情,每个应用始终有一个线程随时想要给你说“Hello!”,自然你的系统也就卡了。

伪后台机制就不多说了,一句话总结就是,Android系统不是真正的在后台乖乖躺着,iOS应用到了一定的时间,一定会把你的不用的应用给杀掉,可是Android应用开心得狠,不管你用不用,他都在那里“不离不弃”,而且你想要终结进程会发现,这玩意儿还会悄悄去跑出来给你说“晚安”。

Java虚拟机是另一个硬伤:技术选型的痛很难去改变

Android发展初期,为了实现对iOS的弯道超车,加上Android本身也是开源的,同时为了降低开发门槛,不顾一切的选择了Java作为第一语言,从此祸根就埋下了。

Java本身是虚拟机语言,本身也相当臃肿,用Java就意味着你的硬件成本必然会上去,大家可以比较一下IDEA、Eclipse和visual studio这几个集成开发环境,就会发现Java对资源的耗费有多么严重。

总之安卓之所以这么卡,跟Android系统的本身的技术选型有关系,也跟Android生态的分发和管理方式有关,总之这是综合因素造成的,不是一蹴而就。


本文系字节跳动签约作者的EmacserVimer问答原创专稿,未经允许不得转载

7

Android后台用的是serviece组件,意思就是当你退出某个应用时,在后台仍然运行,占用内存空间,此外安卓系统的文件碎片比较多,删除应用还回残留一些无用文件,从而占用手机空间。因此,安卓系统比较“吃内存”,手机的内存越大越好。

8

这就是为什么用过苹果牛机的人,用华为手机就用不惯的重要因素之一。我因为经常出差在外,手机卡有三张,所以我每次更换手机,都是买一个华为双卡手机,一台苹果手机。华为手机用于工具手机用,而苹果手机用于通话,看新闻用。这样都能发挥真最大优势。苹果手机的系统相对干净,而华为手机最大的毛病,就是强行装了许多,我根本不需要的软件,而且根本删不掉。虽然我用P30内存6G,但用几天还是要经常堵机。需要打开手机管家,清理才能活过来,这个问题可能是华为手机系统,对垃圾清理的功能欠缺,及预装软件自启动后,对内存量占据一半的结果吧?所以标志6G内存,实际才有3 G可用了。你们可以看看,华为手机有个一健清理,一开机上面显示内存有一半,被华为“强盗软件占据”了。而且根本清理不掉。所以华为手机并非大家说的那么优秀,起码那些预装轨件,在你使用的流量时,增加了流量的使用。华为手机总裁任正非,也不是一个慈善家,他的职业就是商人,商人的身份的属情就决定了,他要把谋利最大化的目的,所以华为手机价格越来越贵,也是正常的。所以我们在技术比较上,应该报实是求是的态度,对华为手机和苹果手机,技术上问题作出真实的评价。当然,华为手机想真正超越苹果,那也许应该真正让鸿蒙系统,代替安卓系统的那天到来?而决不能用“爱国主义”的旗帜绑架,科技技术的优劣功能。这就是我的态度,欢迎大家批评。

9

这个很简单。你知道为什么,先要去理解。苹果电脑和微软电脑的系统区别。那就容易理解苹果手机和安卓手机了。

我用最简单的方法告诉你,首先两者构架不同。苹果是钢筋水泥石头建的欧式古典贵族人房子。微软是砖砌的最为大众化普通老百姓都能住上的房子。

苹果的房子因为基础兼顾,无法后期改造房子,所以内部所有的东西都超未来的给你想好了,预留了。装修,装潢未来几十年都不会过时。什么电视马桶,厨房用具都给你配置好了。不会给你后期带来麻烦。简单的例子就是你用保安巡逻的时候,苹果用监控巡逻。这就是苹果没有磁盘碎片,不用整理硬盘,不用分区,几乎没有死机,不用关机。

而微软就是我建立的小区,什么物业保安都是后期添加。房子装修装潢你自己来,什么材料都需要你亲自动手。

所以两者的区别就是苹果(只有你想不到的,没有我做不到的)微软就是(我能为你做的更多)。

在这个前提下。苹果的软件,必须符合他的风格,这就是苹果和微软软件开发不一样。

苹果电脑的硬件和微软的硬件不能通用,所以软件也是如此。所以同一款软件需要两款软件去写,而不是用一个软件改一改就能用的。

这就是所谓的c语言和java。

多的不说了。简单的就是苹果不需要碎片清理,安卓需要手动清理。再换句话说,苹果当初就是不想有碎片这个东西。而微软和安卓是在开发的时候必须碎片是必须会出现的。

有人会问了,难道安卓能到不能像苹果一样,不产生碎片吗?如果那样的话,对不起,你创造的是苹果系统而不是安卓系统了。

10

给父母分别购买了安卓机和苹果机。当时购买的价格基本一致,都是2000多元。父母年龄大了,手机也不分彼此,经常混用。

两年过去了,安卓机已经不得不重新刷机了三次。否则就卡机到几乎完全不能使用的地步。

所谓刷机就是把手机重置为刚刚购买的状态,刷机后的安卓机又恢复了正常。

那么为什么安卓机会卡机严重呢?

个人认为在于安卓机对APP(应用程序)的管理不善,安全防护形同虚设。导致安卓机在老人长期使用的时候,经常莫名其妙多非常多的应用程序。而这些应用程序占据大量手机资源。

苹果机和安卓机我只给父母安装了微信、喜马拉雅电台和头条新闻。

苹果机至今仍然只有这三个APP。而安卓机每次刷机前都会多出很多APP,问父母他们也不知道为什么出来的。有一次甚至在我询问父母的时候,眼睁睁看着一个新的APP冒了出来。

这些不请自到的APP,是安卓机越用越卡的关键原因。也是至今我不敢在安卓机上开通网络支付的原因。

期望国内的安卓手机厂商,能够对此类现象进行杜绝和防范。毕竟近两年原生安卓系统是不存在这样的问题的。

相关问答推荐