導航:首頁 > 科技大全 > ios系統偽後台

ios系統偽後台

發布時間:2023-04-21 22:48:40

1. iOS"偽後台"機制下如何保持APP一直運行在後台

最近在做番茄鍾的功能。首先簡單介紹一下番茄鍾吧,就是25分鍾工作番茄工作法。先說一下** 番茄工作法 **:

那麼功能就相當於一個25分鍾的鬧鍾,可以播放背景音樂,到點給用戶提醒。

功能聽起來很簡單是不是?其實挺多坑的。

開發過程中遇到了2個問題。

OK,下缺源面我們一步一步來分析並解決這兩個問題。

** 首先要理解iOS系統的後台機制 **

我們伏升態都知道,蘋果對APP佔用硬體資源管的很嚴,更不要說應用後台時候的資源佔用了。正常情況下,使用應用時,APP從硬碟載入到內存,開始工作;當用戶按下home鍵,APP便被掛起,依然駐留在內存中,這種狀態下,不調用蘋果已開放的幾種後台方法,程序便不會運行;如果在這個時候,使程序繼續運行,則為後台狀態;如果當前內存將要不夠用時,系統會自動把之前掛起狀態下的笑飢APP請出內存。所以我們看到,有些時候打開APP時,還是上次退出時的那個頁面那些數據,有時則是重新從閃屏進入。

iOS系統後台機制大概可以分為5種狀態

** 那麼我需要的是Background模式。即APP在後台運行同時保持程序active的狀態 **

首先去xCode裡面設置。到info.plist中添加以下信息:

然後到Capabilities裡面打開後台模式,並根據項目的要求勾選對應的功能。我這里只需要保持後台運行並且播放背景音樂及通知功能。所以就勾選了第一個和最後一個

以上這兩步是告訴系統我這個APP支持後台模式,對應的環境為音頻環境。

可是到這一步,APP還是不能長時間運行到後台。

為什麼?我們思考一下。我們讓程序支持了後台運行的模式。那麼我們是不是還需要系統知道我們的程序要在後台運行多久呢?我們需要告訴系統我們期望APP在後台存活的時間。

首先聲明一個屬性

在進入後台的時候通過AppDelegate裡面的方法:

現在就可以讓我們的APP一直運行在後台啦!總結下來的思路就是:通過一個後台任務(這個任務我們也不用管,它存在的意義就是和系統去請求後台運行的一定的時間),這個時間我們不知道也不用去管,我們可以通過該時間還剩下多少判斷是否繼續請求時間,如此循環,我們就可以不斷的請求時間來保持我們的app一直運行在後台。

接下來解決音樂在後台模式(切換到後台或者鎖屏狀態)下停止播放的問題。

其實很簡單。

下面解釋一下AVAudioSession的一些設置參數

Demo地址: https://github.com/BoYangZuo/KeepAppActive

** 歡迎star!**

2. 安卓真後台和蘋果偽後台有什麼區別

安卓真後台和蘋果偽後台的區別在於:

1、APP在後台的運行狀態不同。

(1)、Android的「真後台」允許APP留存在後台,依靠著Service服務組件繼續運行,搶占前台CPU資源;

(2)、蘋果的ios系統「偽後台」中,應用最多隻能在後台運行5秒,之後就會被掛起(存於內存但不運行)造成後台不會下載、開多個網頁後切換需要重載入的現象。

2、對手機流暢度的影響不同。

(1)、Android系統「真後台」允許應用在後台運行,使得手機容易卡頓,對手機的流暢度影響較高,會使手機的使用流暢度大大降低;

(2)、蘋果的ios系統採用「偽後台」的形式,減輕了對手機流暢度的影響,因為蘋果手機衡鋒豎對後台的限制非常嚴格,只有一些特殊應用可以在後基悉台真正運行。這保證了當前活躍程序的系統資源,保證了手機的流暢性及續航能力。

(2)ios系統偽後台擴展閱讀:

從iOS7開始,蘋果的後台實現了從「偽後台」到「智能後台」的歷史性革新。一旦手機鎖屏,後台應用將也會很快被暫停(不是像之前那樣要一直運行到完成任務或超時),之後當系統被喚醒時(比如接咐大到電話),那些暫停的後台應用也會一起繼續運行。

這種方式採用了非常復雜的設計邏輯,在兼顧系統安全性、流暢性和續航能力的基礎上,最大限度上實現了真後台的一些功能,比如後台刷新、推送喚醒和後台傳輸,尤其是能根據用戶的行為習慣,提前喚醒/啟動一些高頻使用的APP,不需要在打開後重新載入。

這樣的好處是,系統不會因為第三方應用在後台運行而長時間處於喚醒狀態,對電池續航有益,而且第三方應用的保持時間也更久了(雖然真正的活躍時間是一樣的)。

3. 手機假後台是什麼意思

假後台就是偽後台,以前IOS就是著名的偽後台。

其實就是,當以為將軟體後台操作了,但其實系統只是保留了軟體的使用,但是卻終止了內部運行。

比如,用瀏覽器打開一個網頁,然後後台,網頁會繼續在後台打開。而偽後台不會繼續打開,而且停留在連接網頁階段,再次打開侍讓瀏覽器,必須繼續等待網頁打開。

(3)ios系統偽後台擴展閱讀

隨著iOS 4的發布,iOS也開始有了多任務功能,當你點擊Home鍵後,當前程序轉入後台(iOS 4之前按Home鍵就直接幹掉應用了),後台應用以墓碑的形式(退出前的狀態)保存在內存中,用戶可以快速恢復。

但是蘋果對後台的限制非常嚴格,只有一些特殊應用可以在後台真陵渣正運行,比如音頻播放類,VoIP類,newsstand,位置服務等。

如果不做任何配置的話,你的應用最多隻能在後台運行5秒,之後就會被掛起 (存於內存但不運行),如果你配置了後台運行(如需下載),大概在594秒(9.9分鍾)時進程停止尺談悄,程序同樣也會被掛起,一旦系統需要內存了,最早的後台進程就會被殺掉以釋放內存。

閱讀全文

與ios系統偽後台相關的資料

熱點內容
一鍵還原的文件是什麼格式 瀏覽:581
女漢子微信名霸氣十足 瀏覽:65
win10手機藍屏修復 瀏覽:419
windows2008激活工具 瀏覽:259
g71的編程應注意什麼 瀏覽:572
文件路徑不符合是什麼意思 瀏覽:543
qq如何換綁微信綁定 瀏覽:67
文件包下載的安裝包在哪裡 瀏覽:811
90版本升級不送 瀏覽:186
工具箱英文 瀏覽:382
南翔嘉定編程課哪裡好 瀏覽:853
win10改變文件格式 瀏覽:475
linux中的物理地址和虛擬地址 瀏覽:493
有哪些app可以接游戲訂單 瀏覽:472
蘋果硬碟數據恢復要多少錢 瀏覽:394
js綁定下拉框資料庫數據 瀏覽:448
cad文件怎麼復制到另一個文件里邊 瀏覽:858
dxp鑽孔文件 瀏覽:631
iphone大悅城換機 瀏覽:538
找結婚對象上什麼網站 瀏覽:974

友情鏈接