我的Android「智能電視盒」有一個磁盤連接,其中安裝了一個運行各種服務器進程(ntp,mpd,lighttpd,...)的小型Debian發行版。問題是,即使我有很多交換空間,當有很多活動時(即機器交換更多時),我的一些守護進程往往會「死亡」。我不知道什麼是根本原因,但它聽起來像是某種Android OOM系統可能決定殺死這些進程(可能是因爲它假定沒有交換)。如何阻止android殺死我的守護進程
如何驗證這確實是這種情況?
如果是這樣的話,即使交換中仍有足夠的空間,hwo是否可以阻止內核殺死進程?
Android保留隨時殺死任何服務的權利。它還會設置每個應用內存限制,即使您有剩餘的內存,也不會讓應用覆蓋它。所以你需要編碼你的服務,假設他們可以在任何時候無故喪命。一個竅門是讓你的服務onCreate調用startService本身 - 出於某種原因,Android往往會每隔8個小時左右殺死所有東西,這就解決了這個問題(儘管如果你在做某件事情的時候可能會丟掉它)。 – 2013-03-05 21:51:37
這些是真的本地Linux守護進程「死」,而不是SDK應用程序? – CommonsWare 2013-03-05 21:51:42
對,這些是對Android一無所知的Debian守護進程。 – Stefan 2013-03-05 21:54:45