2011-10-26 23 views
1

我一直在挖掘網絡尋求爲這個具體問題尋找好的,androidish解決方案,但沒有找到一個,所以我在這裏,發佈我的第一個問題在StackOverflow 。當一個進程結束或在Android上遇害時收到通知

爲了詳細說明我的問題,我有一個全面的aidl服務,其他一些進程綁定到這個服務。我的服務將爲每個連接到它的進程分配一些資源,並且我想讓這個語句變爲粗體,資源分配用於進程,我做了某種會話跟蹤,其中getCallingPid()和getCallingUid()會話標識符的作用。

所以這裏的問題在於,Android永遠不會告訴我們,由於某種原因,綁定到我們的應用程序是否會離開,因此爲被銷燬的進程分配的系統資源將被我們的服務所佔用而浪費掉。

我發現有點可行的一個解決方案是輪詢ActivityManager.getRunningAppProcesses並計算當前和先前快照之間的設置差異,但是這種方法看起來很髒。

任何人都可以提出一些更好的方法來做到這一點?我會很感激!

感謝,

的Giorgi

回答

1

據我所知,Android將不會告訴你,當進程被終止。

我懷疑唯一的方法是每隔x秒或幾分鐘獲取正在運行的應用程序的列表,並以這種方式跟蹤應用程序。我想這也是你在問題中已經提出的建議。

這並不美觀,但它可能是唯一的方法之一。

+0

謝謝,只是希望有人確認,以這種方式執行該事情之前。 – Giorgi

相關問題