iOS開發 後台執行以及相關內容整理

2021-10-12 17:56:21 字數 1651 閱讀 4153

網上找了一篇內容概述比較簡潔清晰的

應用的執行狀態分為以下五種:

後台模式

ios 提供的後台執行方式

正在使用麥克風提示

一般用於導航應用中,開啟此選項後,應用退到後台,還可以得到系統的定位更新,從而使得應用可以根據定位的變化做出不同的反應。**實現可參考:

此選項提供給一些 mfi 外設通過藍芽,或者 lightning 接頭等方式與 ios 裝置連線,從而可在外設傳送訊息時,喚醒已經被掛起的應用。而一旦被喚醒,一般情況下, 應用只有最多 10 秒鐘的執行時間。mfi 外設:是指通過蘋果 mfi 認證的裝置,而 mfi 認證是對其授權配件廠商生產的外接配件的一種標識使用許可,是 made for ios 的英文縮寫。

此選項與 external accessory communication 類似,只是此選項無需限制 mfi 外設,而需要的是 bluetooth le 裝置。

此選項是指 ios 裝置作為乙個藍芽外設連線時,對應的應用可以後台執行,但是使用此模式需要使用者進行授權認證。

ios 7 新增加的乙個選項,用於即使在後台,也需要頻繁更新資料的應用。例如乙個 pm2.5 的應用,需要幾個小時更新一次資料,那麼可以開啟此選項,設定乙個時間間隔,從而讓 ios 在間隔時間內在後台啟動該應用,執行指定資料的獲取工作,而此過程最多只能執行 30 秒鐘。**實現可參考:

保持程式在後台長時間執行

ios為了讓裝置盡量省電,減少不必要的開銷,保持系統流暢,因而對後台機制採用墓碑式的「假後台」。除了系統官方極少數程式可以真後台,一般開發者開發出來的應用程式後台受到以下限制:

當180s或者600s時間過去之後,可以告知系統未完成任務,需要申請繼續完成,系統批准申請之後,可以繼續執行,但總時間不會超過10分鐘。

#申請後台處理時間的方法:

beginbackgroundtaskwithexpirationhandler:時呼叫才有效。

//登出後台

endbackgroundtask:

@property(assign, nonatomic)uibackgroundtaskidentifier backiden;

@end

[self begintask];

} nslog(@"進入前台");

[self endback];

}//申請後台

-(void)begintask];}

//登出後台

-(void)endback

@end

小結

關於應用後台模式執行以及其它相關的知識,後續會持續更新

ios 後台執行實現

敏捷開發相關內容總結

這是我第一次接觸敏捷開發這個概念,因此如有錯誤之處還請老師指點。首先,什麼是敏捷開發?簡單的說,敏捷開發一種以人為核心 迭代 循序漸進的開發方法。在敏捷開發中,軟體專案的構建被切分成多個子專案,各個子專案的成果都經過測試,具備整合和可執行的特徵。那麼,為什麼會出現敏捷開發呢?回顧軟體開發時代共有如下...

ORACLE相關內容

1 em,dbca,netca,netmgr出現亂碼方案 cd oracle home jre lib mv font.properties font.properties.bak mv font.properties.zh font.properties em,dbca,netca,netmgr詳...

JVM相關內容

本地 native code 每個因素對記憶體占用的影響又會隨著應用程式 執行環境和系統平台的不同而變化,那怎樣計算總的記憶體佔用量?是的,想得到乙個準確的數字不是那麼容易,因為 你很難控制本地 native 部分。你能控制的部分只有堆大小 xmx,類占用的記憶體 xx maxpermsize,還有...