iOS後台解析

2022-08-16 11:12:13 字數 1136 閱讀 1654

上個月給小妹買了一台6s 她問我雙擊 home 鍵之後 彈出的那些應用會不會耗電 我找到一篇文章 正好說的就是這個問題 摘要翻譯一下

非常多人以為「在 ios 上雙擊 home 鍵之後底部彈出的一欄應用是當前 ios 全部正在執行(包含後台執行)的程式 它們仍然會占用記憶體並耗費電量 要最大化裝置的效能 最好手動關閉它們 」

但這是錯誤的 其實這欄應用僅僅是「使用者近期使用的應用列表」而非「全部正在執行的應用列表」 除非在特殊情況下 使用者不須要去手動管理這個列表

ios執行狀態

ios 應用有 5 種執行狀態 各自是:

沒有執行 - 應用處於終止狀態 沒有執行。

不活躍 - 應用處於前台 但不接受事件操作(比如 當前應用處於活躍時 使用者進行了鎖屏操作);

活躍 - 應用處於 「使用中」 的正常狀態;

後台 - 應用沒有顯示在螢幕上 但仍在執行**。

掛起 -應用仍然駐留在記憶體中 但不執行**;

「不活躍」和「活躍」這兩種狀態比較清楚 這裡須要討論的是 當乙個應用從「活躍」切換到「後台」 再到「掛起」 最後到「停止執行」這個過程中發生了什麼

當你點選 home 鍵時 應用會從「活躍」切換到「後台」 而且大多數應用會在幾秒鐘後從「後台」切換到「掛起」狀態

「掛起」狀態的應用仍留在記憶體中 這樣當你返回這個應用時能夠高速使用 但它們並不使用處理器計算 也並不耗電

你可能會覺得 假設應用停留在記憶體中 你須要以某種方式時結束它以節省記憶體 實際上不須要 由於 ios 會自己主動幫你做到 假設有非常多應用停留在記憶體中 而你開啟了乙個非常佔記憶體的應用 比方大遊戲 ios 會自己主動清理這些「掛起」的應用並將他們切換到「沒有執行」狀態 也就是把它們全然從記憶體中清除 下次當你開啟它們時 相當於又一次開啟這個應用

可能會讓人們比較困惑的是:上述的全部情況都不會影響到你在多工作列中看到什麼 多工作列中顯示的僅僅是你近期使用的應用程式的列表 而不論這些應用是處於「後台」「掛起」或「沒有執行」狀態 你可能還會注意到了 當前正執行的應用並不出如今「多工作列」中

多工執行

無限制後台執行

全部的 ios 應用都有 5 秒鐘的後台執行時間 有一些應用能夠申請 10 分鐘的額外後台執行時間 僅僅有非常少的一些應用能夠真正不限時長的在後台執行

iOS 後台定位

和定位可以在後台一直執行著,前提是使用者同意 直接上 viewcontroller.m dingweitest created by user on 15 9 7.import import viewcontroller.h inte ce viewcontroller end implementa...

iOS 後台處理

ios 後台處理的常見用途 1 進入後台時候刪除資源 應用處於掛起狀態的時候所占用的資源越少,該應用被ios終止的風險就越低。通過從記憶體中清理那些易於重新建立的資源,可以增加應用駐留記憶體的機會,因此可以大幅加快重啟速度。2 進入後台時候儲存狀態 儲存與使用者執行的操作相關的所有資訊,這樣的話,使...

iOS 後台執行

應用可以在該方法中完成轉入後台前需要做的準備工作,所有的應用需要做以下事情。釋放所有可以釋放的記憶體。儲存使用者資料或狀態資訊,所有沒寫入磁碟的檔案或資訊,在進入後台之前,都應該寫入磁碟,因為程式可能在後台被殺死。當程式進入後台之後,為了確保獲得最佳的使用者體驗,建議釋放那些占用記憶體較大且可以重新...