蘋果的iOS系統(tǒng)在設(shè)計(jì)上對(duì)后臺(tái)運(yùn)行的軟件進(jìn)行了嚴(yán)格的限制。這種設(shè)計(jì)雖然增強(qiáng)了設(shè)備的安全性和穩(wěn)定性,但同時(shí)也給用戶帶來(lái)了一些不便與困惑。那么,蘋果是怎么限制軟件后臺(tái)運(yùn)行的呢?
1.切斷應(yīng)用程序的網(wǎng)絡(luò)連接
蘋果的iOS允許應(yīng)用程序在后臺(tái)運(yùn)行,但需要在后臺(tái)執(zhí)行的任務(wù)是有限制的,大多數(shù)應(yīng)用程序只允許在后臺(tái)進(jìn)行一些必要的操作,如音樂(lè)播放,文件下載和位置跟蹤等。對(duì)于無(wú)效的后臺(tái)操作,系統(tǒng)會(huì)自動(dòng)停止它們的后臺(tái)運(yùn)行,并且斷開它們的網(wǎng)絡(luò)連接,以節(jié)約電量和資源。
2.對(duì)于長(zhǎng)時(shí)間后臺(tái)運(yùn)行進(jìn)行強(qiáng)制終止
為了防止應(yīng)用程序在后臺(tái)運(yùn)行過(guò)長(zhǎng)時(shí)間導(dǎo)致設(shè)備電量的消耗和系統(tǒng)性能下降,蘋果引入了一種“讓應(yīng)用程序自行終止”的機(jī)制。當(dāng)應(yīng)用程序在后臺(tái)運(yùn)行時(shí)間超過(guò)一定限制時(shí),系統(tǒng)會(huì)發(fā)送一個(gè)終止信號(hào),告知應(yīng)用程序停止運(yùn)行,并釋放掉占用的資源。
3.禁止第三方應(yīng)用程序在后臺(tái)獲取音頻數(shù)據(jù)
蘋果在iOS7中引入了另一項(xiàng)限制,禁止第三方應(yīng)用程序在后臺(tái)獲取音頻數(shù)據(jù)。這個(gè)限制是為了保護(hù)用戶的隱私和安全,防止惡意應(yīng)用程序在后臺(tái)竊取用戶的隱私信息,例如錄音設(shè)備。
4.打開后臺(tái)運(yùn)行模式時(shí),是否服務(wù)需要顯式聲明
在iOS中,應(yīng)用程序必須顯式地聲明需要后臺(tái)運(yùn)行模式的服務(wù)。如果應(yīng)用程序想要在后臺(tái)執(zhí)行某些操作,例如接收網(wǎng)絡(luò)數(shù)據(jù),播放音樂(lè),約會(huì)提醒等,需要在應(yīng)用程序配置文件中聲明這些服務(wù)。否則,這些服務(wù)將不會(huì)在后臺(tái)運(yùn)行。
5.啟用位置跟蹤需要用戶授權(quán)
為了保護(hù)用戶隱私和安全,蘋果要求應(yīng)用程序在使用位置跟蹤服務(wù)之前必須得到用戶授權(quán)。這樣一來(lái),用戶才能更加輕松地管理自己的位置信息,防止惡意應(yīng)用程序在后臺(tái)獲取用戶的位置信息。
6.對(duì)后臺(tái)運(yùn)行的應(yīng)用程序進(jìn)行限制
蘋果對(duì)無(wú)效的后臺(tái)應(yīng)用程序進(jìn)行限制,防止它們占用過(guò)多的設(shè)備資源和電量。如果應(yīng)用程序沒(méi)有明確的后臺(tái)運(yùn)行權(quán)限或者后臺(tái)運(yùn)行權(quán)限被系統(tǒng)撤銷,那它將不再在后臺(tái)運(yùn)行,而是被停止運(yùn)行,釋放掉資源。
總之,蘋果在保障設(shè)備安全與性能的同時(shí),對(duì)后臺(tái)運(yùn)行的應(yīng)用程序進(jìn)行了嚴(yán)格的限制,這種設(shè)計(jì)可能給用戶帶來(lái)一定的不便,但同時(shí)也增加了設(shè)備的穩(wěn)定性和安全性。