科普倒是不敢講,只能說說自己的一些看法,現(xiàn)在的安卓旗艦手機(jī)至少用2年的時間是沒有任何問題的,至于你說的卡頓是之前安卓的卡頓,或者是很多人拿著幾年前的手機(jī)或者是千元來做對比,當(dāng)然我們不可否認(rèn)的是ios系統(tǒng)顯然仍然是相比安卓有優(yōu)勢,造成這種差異化的原因,其實(shí)有三個系統(tǒng)的運(yùn)行效率不同,以及后臺機(jī)制的不同,以及生態(tài)環(huán)境不同:當(dāng)然前提我們使用的安卓系統(tǒng)不是原生的,是經(jīng)過各個廠商優(yōu)化來的,所以其實(shí)已經(jīng)加入了更多的功能,而ios系統(tǒng)沒有經(jīng)過點(diǎn)綴,所以剛開始已經(jīng)有了區(qū)別:
安卓系統(tǒng)和ios系統(tǒng)兩者編寫程序的語言不同,ios是Objective-C編程的優(yōu)勢是效率高,但是相比安卓JAVA的優(yōu)勢則是跨平臺不過運(yùn)行效率相對偏低,其實(shí)這兩個編程語言所帶來的機(jī)制不同,就已經(jīng)造成了各自系統(tǒng)之間的流暢性差異化。
效率高的原因就是系統(tǒng)處理任務(wù)的方式不同,比如蘋果手機(jī),我們一直說過度動畫很自然,這是因?yàn)閕OS對屏幕反應(yīng)的優(yōu)先級是最高的,簡單點(diǎn)來說的話,就是當(dāng)用戶只要觸摸接觸了屏幕之后,系統(tǒng)就會最優(yōu)先去處理屏幕顯示(Touch這個層級),也就是你點(diǎn)開一個APP之后,直接就點(diǎn)開了。
而安卓手機(jī)的運(yùn)行機(jī)制是APP都是一直在虛擬機(jī)中,你點(diǎn)開APP之后,首先需要的是由底層傳輸數(shù)據(jù)到虛擬機(jī)中,再由虛擬機(jī)傳遞給用戶UI,因?yàn)镴ava語言因?yàn)樘摂M機(jī)的存在,二次轉(zhuǎn)化再執(zhí)行效率就要低很多。而這次的華為方舟編譯器就是解決這個方面的問題,省去了中間的步驟。
蘋果手機(jī)為什么運(yùn)行內(nèi)存那么小,但是系統(tǒng)也可以流暢運(yùn)行,就是后臺算是假后臺,我們簡單點(diǎn)來說的就是,比如我們打開一個APP之后,我們回到主界面的時候之前的軟件就相當(dāng)于暫停使用,不再消耗RAM,所以你會發(fā)現(xiàn)比如你再次載入APP的時候,發(fā)現(xiàn)還是在你退出來那個界面。而安卓是真后臺,即使你退出軟件,軟件也會在后臺自啟,繼續(xù)占用你的RAM,而RAM是有限的,當(dāng)RAM剩余太少的時候你就會感覺到卡頓。同時,后臺的程序運(yùn)行也會占用CPU資源,使手機(jī)處理能力下降,這也是安卓手機(jī)需要通過使用更高的配置來提高流暢度的原因。
安卓手機(jī)不管你的軟件來源是哪里,比如手機(jī)自帶的商店,還有百度,還是有其他都可以下載,這也是很多人為什么拿安卓手機(jī)當(dāng)做是備用手機(jī),就是方便下載軟件,因?yàn)榘沧渴情_源的任何軟件開發(fā)商或者個人都能開發(fā)安卓的軟件,也正是由于開源和各個品牌手機(jī)硬件差異極大,導(dǎo)致安卓手機(jī)的系統(tǒng)體驗(yàn)各有差異,軟件兼容性也不如ios。
而蘋果手機(jī)你的軟件來源只能是應(yīng)用商店,所以導(dǎo)致了一些不正規(guī)的APP違規(guī)占用后臺內(nèi)存和其他方面的一些問題。
當(dāng)然蘋果手機(jī)處理器性能的強(qiáng)大也是一部分的原因,因?yàn)閱魏诵哪芰?qiáng),所以我們平時使用的時候只需要用到單核心,而剛才講過了蘋果在運(yùn)行一個應(yīng)用時,另一個是暫停的,所以單核心的能力強(qiáng)優(yōu)勢就體現(xiàn)出來了。
安卓要運(yùn)行虛擬機(jī),這樣就加重了處理器的負(fù)擔(dān),加上安卓系統(tǒng)的多樣性,開發(fā)者需要對不同系統(tǒng)進(jìn)行定制,所以優(yōu)化不佳;而蘋果可以限制開發(fā)者的開發(fā)方案,iOS系統(tǒng)只需要保證幾款iPhone、ipad等蘋果自己的移動設(shè)備上的運(yùn)行體驗(yàn)即可,而Android則需要兼顧盡量多的已存在和未存在的不同硬件組合,在可控的環(huán)境內(nèi)對系統(tǒng)做針對性的優(yōu)化。而且剛才講過了兩者的運(yùn)行效率,Android采用的Java語言因?yàn)樘摂M機(jī)的存在,二次轉(zhuǎn)的效率相對較低。