2011-02-10 124 views

回答

1

哦往常一樣,Android的只是去大開殺戒

Line 8544: 01-24 18:41:30.610 I/am_kill (2474): [5601,com.google.android.youtube,12,too many background] 
    Line 8655: 01-24 18:42:15.637 I/am_kill (2474): [5995,com.sec.android.app.camera:CropImage,12,too many background] 
    Line 8714: 01-24 18:42:26.505 I/am_kill (2474): [5961,com.sec.android.app.camera,12,too many background] 
6

official Android developer guide

Android系統試圖維持 只要 的應用成爲可能的過程,但最終當內存 運行低時,它將需要 來刪除舊進程。以確定哪些進程 保持和殺死,Android的 地方每個過程變成基於在其上運行的 組件和狀態的組件的 的 「重要性階層」。 最低重要性的流程首先被刪除 ,然後是那些最接近的 ,依此類推。

從用戶的角度來看,Android設備的內存越多越好。爲什麼?未使用的應用程序「空閒」並佔用設備RAM的一部分。

每次你從零開始一個應用程序,也就是說,一個非空閒的應用程序,Android的CPU會耗盡資源,使其生效並進入內存。

當一個應用程序進入空閒模式,然後回到主動模式時,它不會佔用太多的CPU。如果我們不考慮GPS,WI-FI和藍牙,CPU使用率是主要的電池消耗量。

那麼,這是什麼意思?你希望你經常使用的應用程序駐留在內存中,這樣就不會太多地使用CPU。 Android會根據優先級讓它們活着。

這就是爲什麼任務殺手是一個壞主意的原因,這就是爲什麼他們不會再在Android 2.2,Froyo中工作了。

+0

thx很多...我現在明確 – Franklyn 2011-02-10 18:20:47

0

定義「太多」。 :-)

空閒應用程序不使用資源(除非專門編程)。

如果手機內存不足,優先級最低的應用程序將被終止並回收內存。

Android上的任務殺手本質上是不必要的。

瞭解更多關於此這裏:Why You Shouldn’t Be Using a Task Killer with Android

+0

thx !!因爲這個,我想知道任務殺手! – Franklyn 2011-02-10 18:19:40

0

當操作系統需要新的活動運行更多的能力,它關閉後臺任務。因此,例如,如果啓動具有大量資源需求的瀏覽器應用程序,許多後臺活動將被關閉。

雖然您可以編寫Android應用程序作爲服務運行,但它們不會關閉,並且會繼續在後臺運行。

閱讀這些主題的更多詳細信息:

http://developer.android.com/guide/topics/fundamentals.html

http://developer.android.com/reference/android/app/Activity.html

0

Android的管理要求活動時,它要重新分配資源來完成任務。

從對開發者指南中的「應用基礎」頁面:

如果活動被暫停或停止, 系統可以從內存 要麼放棄它通過要求它完成(調用 其光潔度()方法),或者簡單地通過 來終止它的進程。當它是 再次顯示給用戶,就必須 完全重新啓動並恢復 到以前的狀態

http://developer.android.com/guide/topics/fundamentals.html#lcycles

0

基本上,Android的允許在後臺運行的進程,直到它需要的資源,在這意味着它會殺死其中的一些處理回收內存。

Here是一個很好的解釋問題的鏈接,它是許多Android用戶爭論的「我需要任務殺手」的根源。

相關問題