為什麼安卓系統用久了會卡,蘋果系統卻依然流暢?誰能科普下,比較容易懂?

沒玩無影的啦1


蘋果一樣會卡,老婆蘋果7P經常直接卡的一動不動,和安卓那種卡情況不太一樣,安卓一般是偶有卡頓,頂多閃退,清理內存後臺又流暢幾天,然後又開始卡頓,週而復始,直接卡死的不多。蘋果直接卡死開不了機佔多數。自己體會。


百色南盤江


我的榮耀note8和同事的蘋果7p都是2016年出的,我是2300買的,他是6400,都用了三年,他已經卡到死,最近換了一臺2800的mate20,我的榮耀note8還好好的。難道現在的旗艦會比我的榮耀還差,你問這個問題只是想黑安卓吧,都2019年了。


百變果仙變變變


作為一名程序開發人員,我從系統層面來回答一下題主的問題。

為什麼安卓系統永久了會卡?

  • 垃圾回收機制

安卓系統是基於Linux內核的系統,安卓系統運行的APP是基於Java語言開發的。提到Java就得提到Java的垃圾回收策略,這也是安卓手機用久了會卡的始作俑者。Java的垃圾回收算法有好幾種,具體我就不跟題主普及了因為不太容易懂。簡單來說,我們使用安卓手機的時候,系統會把很多變量、對象、計算(我們打遊戲、上網等操作)等加入到系統的內存中,內存本來就那麼大,如果這些變量、對象堆積的太多,系統內存空間就會變小,可使用的內存空間嚴重不足,程序運行就會變的卡了。所以對這些變量、對象的清理將是釋放內存的解決方案,但是Java對垃圾(上文提到的變量、對象等)的回收是系統層面決定的,程序開發人員對垃圾的回收不可控,當一些變量、對象不再使用的時候,系統並不會及時清理它們。根據它的垃圾回收策略,當這些垃圾堆積到一定的量,經過系統判斷哪些可以回收了就把它回收,這個判斷過程也會存在一些誤差,導致一些垃圾沒法被回收,這些頑固垃圾日積月來佔用著內存,內存變的越來越小,系統就變的越來越卡。這就是為什麼現在8G內存的安卓手機用久了也會卡的原因。

  • 程序編譯機制

安卓系統的應用運行要先把Java程序代碼加載到安卓虛擬機中編譯成安卓系統可以運行的機器碼來運行,這個過程是需要消耗時間的,這也在一定程度上導致了安卓程序的運行不流程。


為什麼蘋果系統用久了卻依然流暢?

  • 垃圾回收可控

蘋果手機使用的系統是蘋果自主開發的iOS系統,iOS系統是基於C語言開發的。C語言的一個優點就是,對垃圾回收可控。程序開發人員在程序開過的過程中可以實時、精準釋放不用的對象、變量。這樣,在我們使用手機的時候,產生的對象、變量就會得到及時的釋放,不會一直佔用著內存,所以內存佔用率較低,程序的計算效率大大提高,系統也保持流暢。

  • 系統適配硬件

另一方面,蘋果的iOS系統是基於適配硬件開發的,就是可以把硬件的性能發揮到極致,這也是蘋果手機為什麼流暢的一個原因。而安卓手機則不同,安卓的系統全適配,並沒有完全發揮硬件的性能。




個人拙見,歡迎諸位評論交流!

【我是小馬鍋,歡迎您關注、支持我!感謝!】


蘇北小馬鍋


發表一下個人觀點

問題中提到的安卓系統用久了會卡,請設定一下這個用久了是多久

以我的安卓和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。

非專業,僅個人經歷與觀點,不喜勿噴謝謝


Okletsgo43103


    眾所周知,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系列處理器強大的功能也是分不開的。


Geek視界


簡單告訴你,安卓是倉買,把菸酒糖茶,副食品,五金電料,剛才木材都一股腦的往屋裡堆放,然後天天的還有哇哇多的顧客光顧這家小店兒,人滿為患,當然就轉不開身了!蘋果呢就是屬於一個送外賣的,你下單了我給你調,調出來給你送!不佔地方不用租倉庫懟設備,一臺小摩托咔咔可勁跑,所以蘋果就不卡了!簡單慨括就是安卓是真後臺什麼App都要在手機後臺駐留等你隨時調取瀏覽什麼都有堆到手機裡,蘋果是假後臺,app不在後臺駐留,而是點對點的轉接到蘋果自家的大型交換機上儲存,然後把你需要的信息神馬的在反饋給你!所以蘋果就不會越用越卡,在簡單理解,你家三間大瓦房,就50平米,好幾年不扔生活垃圾,不掃地,天天都有親朋好友來串門兒,來了又不空手,你們家又不往外扔,你說你一個小小50平米的三間大瓦房幾年以後會不會有下腳,站腳的地兒?蘋果呢就等於戰爭時期的集團軍聯合指揮部!打就把帳篷支起來指揮千軍萬馬,戰爭結束出拔寨回營了!你說它會卡麼?


用戶5018608101329


同學,安卓系統現在幾乎很少有卡頓的了,當然了,除非你買的是幾年前的機型,就最近兩年上市的安卓機來說,處理器普遍都是驍龍7102、驍龍712、驍龍730、麒麟960、麒麟970起步了,而且售價1千左右,日常使用根本不會卡頓的~

如果搭載的是驍龍855、麒麟980、990之類的處理器,那性能就更強勁了,而且各家手機廠商對安卓系統的優化程度也是突飛猛進,經過這麼多年的更新迭代,別說卡頓了,就是你想故意把它給弄卡,都要花費一番功夫的~


蘋果系統的確很流暢,但是電池小、信號差、發熱高等毛病你咋不說呢?就連最新上市的蘋果11手機,新機的攝像頭都能進灰,可見品控是多麼的愁人啊...

其實安卓系統和蘋果的IOS系統最主要的區別是APP運行機制、後臺管理機制,以及數據交互機制,這玩意我一兩句話也說不清楚,大致的給你描述一下吧:

  1. 蘋果的ios系統裡運行的APP都是獨立的,也就是沙盒模式,彼此之間互不影響,而安卓是虛擬模式,APP之間都互有聯繫,這就導致了安卓系統裡APP開的越多就會越卡~


  2. 在蘋果的ios系統裡,所有後臺的程序都會被強制掛起/終止,因此不佔內存容量,但是安卓系統則不行,手機裡裝的所有APP都會或多或少的運行一些進程,即使現在殺掉了,過一會也會自動運行起來的,這就造成了安卓手機裝的軟件越多,手機就會越卡~

  3. 在安卓系統裡,所有數據的運算交互都是在手機內完成的,而ios則是通過蘋果的服務器進行數據運算交互,然後再發送到手機上的,所以蘋果系統肯定流暢了,因為它的工作都被服務器給做了呀~

其實我講的並不是很全面,但是我想說的是:你別再糾結安卓系統和IOS系統了,目前來說各家手機的安卓系統都是非常流暢的,手機業的競爭很大,如果誰家的系統卡頓的話,現在網絡這麼發達,分分鐘就給你曝光了,這會非常影響銷量的,所以各家手機廠商都在鉚足了勁的對系統進行優化,所以只要手機處理器不是太垃圾,那麼卡頓是不存在的!


特別是一加手機的氫氧系統(簡稱H2OS),它也是基於安卓系統的基礎上研發的,在今年上半年的安卓手機系統流暢度排名裡,獲得了第一名的好成績,而且我本人也使用過一加手機,就我個人的體驗來說,真的和IOS不分伯仲,所以說安卓系統現在很不錯,不會用久就卡的~~

我2年前買的華為mate10pro手機,用到現在依然流暢如新,我天天拿著打遊戲都沒卡頓過,王者榮耀開最高效果,幀率穩定在55~60之間!


桃園小化


給父母分別購買了安卓機和蘋果機。當時購買的價格基本一致,都是2000多元。父母年齡大了,手機也不分彼此,經常混用。

兩年過去了,安卓機已經不得不重新刷機了三次。否則就卡機到幾乎完全不能使用的地步。

所謂刷機就是把手機重置為剛剛購買的狀態,刷機後的安卓機又恢復了正常。

那麼為什麼安卓機會卡機嚴重呢?

個人認為在於安卓機對APP(應用程序)的管理不善,安全防護形同虛設。導致安卓機在老人長期使用的時候,經常莫名其妙多非常多的應用程序。而這些應用程序佔據大量手機資源。

蘋果機和安卓機我只給父母安裝了微信、喜馬拉雅電臺和頭條新聞。

蘋果機至今仍然只有這三個APP。而安卓機每次刷機前都會多出很多APP,問父母他們也不知道為什麼出來的。有一次甚至在我詢問父母的時候,眼睜睜看著一個新的APP冒了出來。

這些不請自到的APP,是安卓機越用越卡的關鍵原因。也是至今我不敢在安卓機上開通網絡支付的原因。

期望國內的安卓手機廠商,能夠對此類現象進行杜絕和防範。畢竟近兩年原生安卓系統是不存在這樣的問題的。


wcnhewn


這個很簡單。你知道為什麼,先要去理解。蘋果電腦和微軟電腦的系統區別。那就容易理解蘋果手機和安卓手機了。

我用最簡單的方法告訴你,首先兩者構架不同。蘋果是鋼筋水泥石頭建的歐式古典貴族人房子。微軟是磚砌的最為大眾化普通老百姓都能住上的房子。

蘋果的房子因為基礎兼顧,無法後期改造房子,所以內部所有的東西都超未來的給你想好了,預留了。裝修,裝潢未來幾十年都不會過時。什麼電視馬桶,廚房用具都給你配置好了。不會給你後期帶來麻煩。簡單的例子就是你用保安巡邏的時候,蘋果用監控巡邏。這就是蘋果沒有磁盤碎片,不用整理硬盤,不用分區,幾乎沒有死機,不用關機。

而微軟就是我建立的小區,什麼物業保安都是後期添加。房子裝修裝潢你自己來,什麼材料都需要你親自動手。

所以兩者的區別就是蘋果(只有你想不到的,沒有我做不到的)微軟就是(我能為你做的更多)。

在這個前提下。蘋果的軟件,必須符合他的風格,這就是蘋果和微軟軟件開發不一樣。

蘋果電腦的硬件和微軟的硬件不能通用,所以軟件也是如此。所以同一款軟件需要兩款軟件去寫,而不是用一個軟件改一改就能用的。

這就是所謂的c語言和java。

多的不說了。簡單的就是蘋果不需要碎片清理,安卓需要手動清理。再換句話說,蘋果當初就是不想有碎片這個東西。而微軟和安卓是在開發的時候必須碎片是必須會出現的。

有人會問了,難道安卓能到不能像蘋果一樣,不產生碎片嗎?如果那樣的話,對不起,你創造的是蘋果系統而不是安卓系統了。


近墨者黑


就拿一個編譯方式,谷歌就在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悟空問答原創專稿,未經允許不得轉載。


分享到:


相關文章: