我們都知道「多任務處理=同時執行多個進程的能力」這一教訓。我們在電腦中使用它,但並沒有特別意識到它的存在。應用程式或一個應用程式的視窗之間的切換(對我們來說)是即時發生的,我們認為作業系統的這種能力是理所當然的。
任務不同
作業系統以較小的時間間隔將處理器分配給所有應用程式。這些時間段非常小,我們無法注意到它們,因此看起來好像所有應用程式都在同時使用處理器。我們可能會這麼想 iOS 4 中的多工處理 工作原理完全相同。不是這樣。主要原因當然是電池容量。如果所有應用程式真的都在背景運行,我們可能需要在幾個小時內尋找套接字。
大多數與 iOS 4 相容的應用程式在按下主頁按鈕後都會進入「掛起模式」或進入睡眠狀態。打個比方,合上筆記型電腦的蓋子,筆記型電腦會立即進入睡眠模式。打開蓋子後,筆記型電腦被喚醒,一切都與蓋子關閉之前的狀態完全相同。此外,有些應用程式按下主頁按鈕會導致它們結束。我們的意思是真正的終止。開發人員可以選擇使用這些方法中的哪一種。
但還有另一類應用程式。這些是真正在背景運行的應用程序,即使您在 iDevice 上執行完全不同的操作也是如此。 Skype 就是一個很好的例子,因為它需要持續的網路連線。其他範例可能是播放背景音樂 (Pandora) 的應用程式或需要持續使用 GPS 的應用程式。是的,即使這些應用程式在背景運行,也會耗盡您的電池電量。
睡覺還是擊落?
某些與 iOS 4 相容的應用程式在按下 Home 按鈕後應進入睡眠狀態(進入「掛起模式」),但仍會在背景繼續運作。蘋果給了開發者整整十分鐘的時間讓應用程式完成其任務,無論是什麼。假設您正在 GoodReader 下載檔案。突然有人想給您打電話,您只需接聽這個重要的電話。通話持續時間不超過十分鐘,您將返回 GoodReader 應用程式。該文件可能已被下載或仍在下載中。通話時間超過十分鐘怎麼辦?應用程式(在我們的例子中為 GoodReader)必須停止其活動並告訴 iOS 它可以進入睡眠狀態。如果她不這樣做,她將會被 iOS 本身無情地終止。
現在您知道「行動」和「桌面」多工處理之間的差異。雖然應用程式之間切換的流暢性和速度對於電腦來說很重要,但電池壽命對於行動裝置來說始終是最重要的。多工處理也必須適應這一事實。因此,讀完本文後,如果你按兩次Home鍵,你將不再看到“後台運行的應用程式欄”,而本質上只是“最近使用的應用程式列表”。
作者:丹尼爾‧赫魯斯卡來源: onemoretap.com
嗯,有趣:) 我一直認為它總是與在 Unix 上完成的方式相似。應用程式已分配零 CPU 時間,進程僅位於記憶體中,所有資源均已分配。所以我不得不按兩次主鍵並立即停止應用程式以將其刪除。那麼這是否意味著即使下部隱藏表單中有應用程式圖標,該應用程式仍然很早之前(10分鐘後)就關閉了?
在底部列表中,只有最近打開的應用程序,其中一些仍然可以運行,一些被暫停,一些被完全終止。從清單中手動刪除應用程式會產生“副作用”,如果它恰好正在運行(或掛起),它將被終止。
應用程式必須告訴自己這 10 分鐘的時間,並且不能保證它會得到這些時間。
好吧,這並沒有消除我對從清單中關閉應用程式的痴迷(如果它不小心吃掉了資源怎麼辦,對吧?:-D)
我的理解是,這 10 分鐘適用於需要在背景運行且不屬於「Skype、GPS 和音樂播放」類別的應用程式。其他應用程式切換到掛起模式並保留在記憶體中,直到需要該記憶體進行其他操作為止。
掛起模式的優點是,如果您需要終止應用程序,您不會丟失其數據,所有內容都將在切換到掛起狀態時保存。
或者,在播放等情況下,相當於指令 bg / fg
那麼播放器或其他在背景運行任意時間的應用程式又如何呢?我的意思是,我可以「選擇」作為開發人員,還是必須以某種方式得到蘋果的批准?
為了使應用程式真正在背景無限時間地運行,它必須執行(註冊)以下操作之一:
– 使用定位服務 (GPS)
– 在背景播放音樂
– 使用 VOIP(IP 語音)
根據標題(深入了解),我希望這篇文章包含更廣泛的技術細節解釋。從這篇文章來看,這看起來更像是一個 perex。如果是perex,續集什麼時候會出來?你能得到退款嗎? :-)
您想更詳細地了解什麼?
從標題中包含「under the hood」的文章中,我期望有詳細的技術描述(例如,作者可以分析切換應用程式時的開銷,或如何處理對系統資源的同時存取),與其他模型的比較(例如,使用越獄的iPhone)。最好透過一些測量來支持它。我只是對一篇標題中有「幕後花絮」的文章抱有更多的期望,而不是這種非常膚淺的描述。
是否有像 Skype 這樣在後台持續運行並且不會斷開連接的 icq 用戶端?
應用程式有10 秒的時間進入掛起模式,而不是10 分鐘…在此過程中,某些部分可能會也可能不會「掛起」在後端服務上,其中一些已經在上面列出了- 這就是Apple 所說的「智慧」 「多工處理...然後系統就把她擊落了
如果正在下載、上傳或處理某些內容,應用程式可能需要額外的時間。它與 GPS、VoIP 或播放音樂無關,它們以極簡模式無限時間運行。