《安卓和iOS后臺(tái)運(yùn)行機(jī)制不一樣》
安卓系統(tǒng)是跑在虛擬機(jī)上的,iOS系統(tǒng)是跑在本地硬件上的。而安卓虛擬機(jī)本身對(duì)內(nèi)存消耗就比較大,對(duì)內(nèi)存管理也不夠嚴(yán)格。相反iOS對(duì)于內(nèi)存管理及其嚴(yán)格,也禁止應(yīng)用程序過(guò)度消耗內(nèi)存。

1.安卓:APP在進(jìn)入后臺(tái)以后,會(huì)繼續(xù)運(yùn)行,并持續(xù)接收信息。除非關(guān)閉后臺(tái)阻止APP運(yùn)行。(部分APP就算關(guān)閉后臺(tái)也仍然在運(yùn)行?。?br/>
2.缺點(diǎn):耗電,占用寶貴的系統(tǒng)運(yùn)行內(nèi)存。(運(yùn)行內(nèi)存可以理解為電腦內(nèi)存條)內(nèi)存被占滿就會(huì)引起卡頓,運(yùn)行內(nèi)存總共就那么大點(diǎn)地兒,給誰(shuí)不給誰(shuí),全靠系統(tǒng)分配。(安卓早年間卡頓的主要原因是因?yàn)閮?nèi)存碎片化和內(nèi)存分配機(jī)制不完善)
3.優(yōu)點(diǎn):真后臺(tái),就算它脫離谷歌服務(wù)器,只要它還在后臺(tái)運(yùn)行,它仍然可以接收消息。只要你不關(guān)閉它,這些任務(wù)永遠(yuǎn)會(huì)在后臺(tái)正常運(yùn)行;好處就是接收信息和發(fā)送數(shù)據(jù)比假后臺(tái)更加迅速。但內(nèi)存大小是有上限的,達(dá)到臨界值的時(shí)候,還是會(huì)殺后臺(tái)(內(nèi)存回收)。安卓后臺(tái)卡片,在一定情況下是需要清理的,因?yàn)槟鞘钦婧笈_(tái)。(桌面平臺(tái)的操作系統(tǒng)用的都是真后臺(tái))雖然現(xiàn)在的安卓系統(tǒng)也開始使用墓碑機(jī)制,但是國(guó)內(nèi)安卓軟件生態(tài)的聯(lián)動(dòng)喚醒,大家懂得都懂??

1.蘋果:APP在進(jìn)入后臺(tái)以后,就暫停運(yùn)行了,APP依靠蘋果服務(wù)器接收信息。(蘋果后臺(tái)屬于墓碑機(jī)制,也就是假后臺(tái))
2.缺點(diǎn):APP后臺(tái)不駐留,在多任務(wù)切換的時(shí)候不好用,程序進(jìn)后臺(tái)就暫停運(yùn)行了。APP閃退,就是運(yùn)行內(nèi)存不足了!系統(tǒng)會(huì)自動(dòng)進(jìn)行內(nèi)存回收。(軟件不兼容或兼容有問(wèn)題也會(huì)閃退)
3.優(yōu)點(diǎn):不需要頻繁清理后臺(tái),程序在進(jìn)入后臺(tái)那一刻就暫停運(yùn)行了。并且不會(huì)發(fā)生很多APP去搶內(nèi)存資源的情況,可以把更多內(nèi)存資源分給當(dāng)前的APP使用。蘋果后臺(tái)卡片是不需要清理的,因?yàn)閼?yīng)用程序暫停運(yùn)行了,再次點(diǎn)擊卡片,它會(huì)從你當(dāng)前中斷的地方繼續(xù)運(yùn)行。(中斷響應(yīng),懂?)而卡片被清理掉之后,你再次點(diǎn)擊APP會(huì)重新加載,反而更加耗電。除非APP崩潰,否則不需要清理后臺(tái)。(蘋果從iOS7開始引入了活動(dòng)后臺(tái),允許部分后臺(tái)駐留)

另外手機(jī)的儲(chǔ)存最好不要被占滿,手機(jī)儲(chǔ)存如果被占滿的話,也是會(huì)引起系統(tǒng)卡頓的。(具體原因不講了,那玩意兒說(shuō)起來(lái)沒(méi)完了。)有些廠商說(shuō)的運(yùn)行內(nèi)存擴(kuò)容,說(shuō)白了就是把儲(chǔ)存的一小部分當(dāng)成內(nèi)存條使用。蘋果手機(jī)現(xiàn)在最大的運(yùn)行內(nèi)存是6GB,安卓手機(jī)那邊最大的運(yùn)行內(nèi)存已經(jīng)達(dá)到12~16GB,事實(shí)證明真后臺(tái)還是比較消耗系統(tǒng)資源的。
按照8GB運(yùn)行內(nèi)存算的話,系統(tǒng)默認(rèn)占用2GB可以給應(yīng)用程序使用的內(nèi)存也就剩下6GB了。在遇到吃內(nèi)存的應(yīng)用程序,內(nèi)存更不夠用!(主要是安卓手機(jī)不夠用,蘋果手機(jī)內(nèi)存管理比較嚴(yán)格還稍微好點(diǎn))而且手機(jī)的GPU(顯卡)也會(huì)劃歸部分運(yùn)行內(nèi)存當(dāng)顯存用。
買手機(jī)時(shí)候說(shuō)的12+256,前面說(shuō)的是系統(tǒng)的運(yùn)行內(nèi)存,后邊兒是儲(chǔ)存。12+3+256,前面是運(yùn)行內(nèi)存,中間是從儲(chǔ)存分出3GB當(dāng)作運(yùn)行內(nèi)存使用,后邊還是儲(chǔ)存?!疤摂M內(nèi)存技術(shù)”

虛擬內(nèi)存介紹:虛擬地址又叫“虛擬內(nèi)存”,虛擬內(nèi)存是內(nèi)存管理的一種方式, 它在磁盤上劃分出一塊空間由操作系統(tǒng)管理,當(dāng)物理內(nèi)存耗盡時(shí)充當(dāng)物理內(nèi)存來(lái)使用。它將多個(gè)物理內(nèi)存碎片和部分磁盤空間重定義為連續(xù)的地址空間,以此讓程序認(rèn)為自己擁有連續(xù)可用的內(nèi)存。當(dāng)物理內(nèi)存不足時(shí),操作系統(tǒng)會(huì)將處于不活動(dòng)狀態(tài)的程序以及它們的數(shù)據(jù)全部交換到磁盤上來(lái)釋放物理內(nèi)存,以供其它程序使用。在 Linux 操作系統(tǒng)中,虛擬地址空間的內(nèi)部又被分為內(nèi)核空間和用戶空間兩部分,不同位數(shù)的系統(tǒng),地址空間的范圍也不同。(虛擬內(nèi)存主要是為了解決,程序所需內(nèi)存過(guò)大,互相搶奪內(nèi)存資源的情況)


UP主身邊也有好多人搞不明白,所以就促成了這篇文章的誕生。寫的不好,請(qǐng)見(jiàn)諒|?ω?`)
喜歡就點(diǎn)個(gè)贊吧( ^_^)/謝謝
【手機(jī)品牌與子品牌-嗶哩嗶哩】 https://b23.tv/CUVwPti