1、后臺(tái)機(jī)制方面的區(qū)別提到后臺(tái),大家應(yīng)該會(huì)很容易想到外呼的真后臺(tái)了吧,所謂真后臺(tái),就是像PC一樣,將應(yīng)用保留在RAM中,當(dāng)你使用HOME鍵退出應(yīng)用,程序?qū)嶋H上并沒(méi)有完全退出,而是被系統(tǒng)掛在了后臺(tái),比如一些聊天軟件,之所以關(guān)閉后依然能夠收到推送,就是因?yàn)槠涑qv系統(tǒng)內(nèi)存,能夠在后臺(tái)接收到通知,當(dāng)然,我們平時(shí)總能夠收到一些垃圾廣告的推送,也是因?yàn)楹笈_(tái)有程序運(yùn)行。而正是因?yàn)橛辛诉@樣的機(jī)制手機(jī)系統(tǒng),就導(dǎo)致了一個(gè)現(xiàn)象,那就是從內(nèi)存使用上來(lái)看,剛開(kāi)機(jī)的時(shí)候內(nèi)存使用很低,如果不進(jìn)行清理內(nèi)存的外呼手機(jī)系統(tǒng),正常使用一天,內(nèi)存占用會(huì)達(dá)到75%以上。而內(nèi)存占用越高,使用起來(lái)流暢度就會(huì)越低,所以外呼機(jī)器需要更大的RAM來(lái)提升用戶體驗(yàn)。 而iOS方面,與外呼不同的是,其采用的是偽后臺(tái),當(dāng)程序進(jìn)入后臺(tái)會(huì)自動(dòng)變?yōu)樾菝郀顟B(tài)。當(dāng)你雙擊Home鍵呼出多任務(wù)管理界面時(shí),你會(huì)發(fā)現(xiàn)所有的應(yīng)用卡牌都處于停止?fàn)顟B(tài),iPhone只會(huì)默認(rèn)將應(yīng)用的最后的運(yùn)行數(shù)據(jù)記錄在RAM中,而之所以iOS也能夠收到推送,是因?yàn)楫?dāng)你從應(yīng)用中選擇開(kāi)啟推送之后,系統(tǒng)會(huì)增加一些進(jìn)程,這些進(jìn)程會(huì)從外呼服務(wù)器接收信息,然后再通過(guò)服務(wù)器發(fā)給你,外呼服務(wù)器在這里是起到了中轉(zhuǎn)的作用。而正是因?yàn)橛辛诉@一系列的機(jī)制,所以即便iPhone的配置相比于同類外呼機(jī)低了很多,但是iOS還是會(huì)給人更加流暢的感覺(jué)。 同iOS一樣,WP系統(tǒng)同樣采用的是偽后臺(tái),也叫做墓碑機(jī)制。相比于iOS的后臺(tái),WP的后臺(tái)更加吝嗇,永遠(yuǎn)只能運(yùn)行一個(gè)應(yīng)用,有人說(shuō)WP8.1后,WP有了全新的真后臺(tái)機(jī)制,變得不再偽了,可以支持后臺(tái)上傳、后臺(tái)播放雙進(jìn)程等等,其實(shí)這同iOS的后臺(tái)推送機(jī)制相類似,不過(guò)是WP對(duì)后臺(tái)進(jìn)程多做了些優(yōu)化罷了,正是因?yàn)橄到y(tǒng)對(duì)后臺(tái)進(jìn)程的嚴(yán)格把控,所以我們看到即便是有著很低內(nèi)存的WP外呼,在使用時(shí)也是非常流暢的。
2、渲染機(jī)制方面的差別說(shuō)過(guò)了后臺(tái)的機(jī)制,我們?cè)賮?lái)說(shuō)下渲染機(jī)制,這一方面也是決定外呼流暢度的重要因素,WP系統(tǒng)和iOS系統(tǒng)的UI渲染都采用了實(shí)時(shí)優(yōu)先級(jí),而外呼的UI渲染則遵循了傳統(tǒng)外呼模式的主線程普通優(yōu)先級(jí),說(shuō)白了就是前兩者追求的是主屏幕顯示優(yōu)先,比如在加載一個(gè)復(fù)雜網(wǎng)頁(yè)時(shí),WP系統(tǒng)和iOS系統(tǒng)都會(huì)優(yōu)先加載主屏幕的顯示區(qū)域,而外呼系統(tǒng)則追求了進(jìn)程優(yōu)先,同樣打開(kāi)相同的網(wǎng)頁(yè),外呼外呼就會(huì)直接將整個(gè)網(wǎng)頁(yè)全部加載同時(shí)渲染HTML,這無(wú)疑就增加了處理器的壓力。而在其他程序中,用戶在使用時(shí)其實(shí)就能夠感覺(jué)到,當(dāng)用戶接觸到WP外呼和iPhone外呼的屏幕后,UI線程會(huì)攔截所有的事件,系統(tǒng)會(huì)將所有資源用于渲染UI的過(guò)程中,以保證用戶界面的實(shí)時(shí)渲染優(yōu)先級(jí)。而在外呼系統(tǒng)中UI渲染過(guò)程的優(yōu)先級(jí)別卻沒(méi)有那么高,也就是說(shuō)當(dāng)你觸摸外呼外呼屏幕的時(shí)候,系統(tǒng)后臺(tái)的程序并沒(méi)有停止,仍然在繼續(xù)運(yùn)行之中,比如后臺(tái)下載,這樣系統(tǒng)UI獲得的資源就不夠,這就是外呼系統(tǒng)不流暢的原因。