今天因專案需求:軟體在後臺倒數計時,結束後跳到B介面,簡單的瞭解了一下,程式進入後臺的幾種方法和程式的幾種狀態
一 程式的幾種狀態
停止執行-應用程式已經終止(從工作管理員中移除),或者還未啟動。
不活動-應用程式處於前臺但不再接收事件(例如:鎖住了裝置,接電話)。
活動-app處於“使用中”的狀態。
後臺-app不再螢幕上顯示,但它仍然執行程式碼。
掛起-app仍然駐留記憶體但不再執行程式碼。
按下Home鍵時,app從活動狀態轉入後臺,絕大部分app通常在幾秒內就從後臺變成了掛起。
二 後臺幾種方法
上面我們知道了程式的幾種狀態,我們要講掛起的程式,進入後臺,官方給出了以下幾種方法
分別對應:後臺音訊;後臺定位;後臺語音服務;下載更新;Background Task Completion(這個待會單獨說下);使用藍芽;作為藍芽物件;後臺資訊更新;訊息推送;
Background Task Completion:這個介面早在iOS 4時候便擁有,其可以供任意型別的APP使用,不過在舊系統中,這個介面的後臺限制執行時間僅為10分鐘,意味著當應用退至後臺,其後臺執行僅能持續10分鐘便會轉至休眠狀態。iOS 7中對這個介面作出了改變,原來的為連續10分鐘,即不論你這10分鐘內使用者是否關閉螢幕進入休眠狀態,應用仍然會在後臺等待10分鐘完結後推出,而新的改進為假如遇到關閉螢幕休眠的情況,這後臺執行的10分鐘便會跟隨一同休眠,剩餘的後臺時間將會留待使用者再一次喚醒裝置才計算。這樣後臺執行的時間仍然為10分鐘,但並不連續,這樣做的優點為省電。
三 解決方法
方法1: 用後臺播放音訊的方法,如果沒有這個需求但是又想用這個方法,可以播放無聲的音樂!
標頭檔案:
並沒有詳細介紹網路視訊的使用方法,包括,上一首,下一首,畢竟主題是介紹程式進入後臺
方法二 後臺定位
然後------
最後------
plist新增一個陣列名為:Required background modes 陣列元素新增對應的描述
方法一:App plays audio or streams audio/video using AirPlay
方法二:App registers for location updates
目前看了下這兩個,都比較簡單,後期用到其他的會繼續更新,如果有什麼不足的地方,歡迎大家指正!
程式設計是一條漫長的道路,前進的路上有你會更佳精彩,謝謝大家!