從2008年的iPhone 3G發(fā)布至今,iOS系統(tǒng)對內(nèi)存的優(yōu)化的越來越好,你可以看到iPhone 5/6兩代手機(jī)對內(nèi)存的需求都控制在了1GB。后續(xù)的6s,7兩代也僅僅最高達(dá)到3g。
反觀安卓,目前最高的6g,相信一年后照樣卡成狗。 一直以來,蘋果的iOS工程師對iPhone的內(nèi)存占用要求都極為苛刻。
蘋果這么做就是為了避免讓自己陷入安卓現(xiàn)在堆硬件的泥沼之中。堆硬件很容易,但系統(tǒng)優(yōu)化卻非常不易。誠然,這些年來安卓和蘋果的配置都大大的提升了,但是對內(nèi)存的優(yōu)化,安卓卻遠(yuǎn)沒有蘋果做的好。
蘋果1G內(nèi)存為何能完爆3G的安卓?
1、系統(tǒng)運(yùn)行機(jī)制的不同
安卓手機(jī)應(yīng)用都是通過Java來完成,而用戶關(guān)閉應(yīng)用的時(shí)候度要涉及一個(gè)過程,那就是Java垃圾收集機(jī)制(garbage collection),也就是說如果一個(gè)用戶要關(guān)閉應(yīng)用,在這中間Java垃圾收集需要大量的內(nèi)存來工作(大約是4-8倍),如果機(jī)器本身內(nèi)存不夠它調(diào)配的話,速度自然就慢下來了。
雖然iPhone依然是1GB內(nèi)存,但iOS系統(tǒng)跟安卓有本質(zhì)的區(qū)別,其過程中也不會(huì)涉及所謂的垃圾收集機(jī)制,而是一種和微軟的WP系統(tǒng)類似的“墓碑機(jī)制”,也可以說是“假后臺(tái)”
iOS系統(tǒng)的特點(diǎn)就是集中所有的硬件資源去保證當(dāng)前運(yùn)行的軟件的流暢,APP一旦進(jìn)入后臺(tái)了,它就是將APP凍結(jié)或者叫休眠。說到這里可能有人會(huì)問了,那為什么QQ和其他APP后臺(tái)了依然能收到消息,這是以為iOS有很好的后臺(tái)消息推送機(jī)制,你收到的消息其實(shí)是通過服務(wù)器推送給你的。這也就是解釋早期的時(shí)候,蘋果服務(wù)器(在國外)不穩(wěn)定的時(shí)候,由用戶掉線或者漏接消息的情況。
但是現(xiàn)在服務(wù)器不穩(wěn)定的這個(gè)情況不復(fù)存在了,良好的推送服務(wù)和偽后臺(tái)機(jī)制,可以讓你的蘋果手機(jī)在1GB的情況下流暢到爆,因?yàn)?GB完全是能勝任的。
2、軟件廠商對APP的優(yōu)化
除了系統(tǒng)運(yùn)行機(jī)制的不同,安卓手機(jī)越用越卡跟現(xiàn)在很多的無良的APP開發(fā)者有關(guān)?,F(xiàn)在越來越多的APP開發(fā)者濫用安卓的權(quán)限,基本所有的軟件都在濫用開機(jī)后臺(tái)自啟動(dòng)的權(quán)限,并美其名曰是為了讓你打開軟件的速度提升,其實(shí)是為了讓自己時(shí)刻能控制安卓手機(jī),并及時(shí)推送廣告消息。
而蘋果則不同,iPhone的軟件都是在蘋果商店下載的,就算是越獄了,你下載的軟件大部分還是正版的APP。蘋果對APP上架極為嚴(yán)格,所以蘋果的APP開發(fā)者想瘋狂加入廣告插件不但可能,開發(fā)者反倒要絞盡腦汁去把APP優(yōu)化到極致。
另外有一點(diǎn),也就是安卓一直以來飽受詬病的碎片化問題。一個(gè)安卓APP要讓那么多不同尺寸、不同分辨率、不同硬件的安卓設(shè)備都能跑起來已經(jīng)是非常不容易了。前段時(shí)間,ROM基地還報(bào)道過一開發(fā)者為了測試APP,狂買了600多款不同的安卓設(shè)備。反觀蘋果,就那么幾款手機(jī),移植適配起來相對容易多了,軟件開發(fā)者也有更多的精力去優(yōu)化自己的APP。
總結(jié)來說蘋果硬件統(tǒng)一,開放的api少,沒有虛擬機(jī),效率折損低,生態(tài)鏈好,app開發(fā)框架比較固定。而安卓應(yīng)用層級比較復(fù)雜,虛擬機(jī)的效率沒有直接在系統(tǒng)層級效率高,部分優(yōu)化不到位,后臺(tái)的servers 機(jī)制會(huì)吃一部分內(nèi)存。
聯(lián)系客服