2010-12-19 55 views

回答

3

一個Android developer's blog解釋Android多任務背後的推理。

  • 我們不想要求用戶在完成「關閉」應用程序時關閉應用程序。
  • 移動設備......對內存使用有相當嚴格的限制。

這些競爭約束是Android設計的關鍵動機。

事實上,您可以看到應用程序的進程「正在運行」並不意味着應用程序正在運行或正在執行任何操作。

的文章鏈接也來自那裏有有趣的事情,關於這個問題的

The RadioActive Yak說:

當應您的應用程序包含一個退出按鈕?簡答:從不。

Wickenden

之一幼稚但技術上好奇新的Android用戶做的第一件事就是開始想知道他們的所有正在運行的應該是「關閉」的事情。

Google的android系統專爲多任務處理而設計,允許程序即時響應變化的環境條件(警報喚醒您,通知已到達目的地等等)以及在需要時實際「運行」並消耗資源。另外,android系統本身在處理低內存條件方面很聰明,並且能夠以一種方式完全吹走應用程序,使得它們的狀態被記住並且在更多的內存時可以被恢復。 任務殺手(其行爲徹底限制在Android 2.2「Froyo」中)實際上可以通過銷燬其他應用程序需要正常運行的進程而造成傷害。

4
  1. 很多Android應用程序的(我想大多數人),完全按照你描述它運行的 - 他們有被關閉或只要你把它懸掛在活動 - 暫停活動只消耗內存和可以立即丟棄。 (iOS幾乎相同)
  2. 即使在iPhone上,也有在後臺運行的應用程序,最顯着的例子是Mobile Safari。不同的是,只有Apple可以編寫無限制地在後臺運行的應用程序,並且普通用戶無法監控這些後臺應用程序。 (這導致用戶在加載流媒體內容的頁面上離開Mobile Safari時出現大量過度收費問題。)
  3. 有合法的用例需要應用程序繼續在後臺運行(下載,上傳,播放音樂,等待VoIP呼叫) - 第三方無法在後臺運行應用程序iPhone直到iOS4,使諸如Pandora或Skype等應用幾乎無用。
  4. 無論好還是壞,Apple始終限制允許第三方開發人員在iOS設備上執行什麼操作(App Store策略,私有API,用於第3點中提到的後臺任務的專用API)。另一方面,谷歌似乎更喜歡第三方Android開發人員可以使用與Google的Android應用程序開發人員相同的API。
  5. 最大的Android性能問題國際海事組織是響應能力,其中的固定比說「背景thx沒有應用程序」涉及更多。 (有關更多信息,請參見http://android-developers.blogspot.com/2010/12/new-gingerbread-api-strictmode.html
相關問題