2013-08-31 54 views
1

如何才能找出當我的android應用程序將被任務管理器殺死的時刻。 如果Activity類或其他東西有任何回調?通過任務管理器回調監視器殺死

+0

沒有辦法沒有一些黑客入Android。你想做什麼?一個寫得很好的移動應用程序可以在任何時候被殺死,並且仍然會正常運行。 – Simon

回答

0

是的,有。

enter image description here

onDestroy()應該得到所謂的(但它不保證被調用)。

+1

請注意'onDestroy()'不保證被調用。 – Simon

+0

嗯,你是對的@西蒙。感謝您的補充。 – Ahmad

+0

我寫了測試應用程序,發現onDestroy()沒有調用。 –

0

當整個系統內存不足時,Android使用任務殺手。然後,它將通過殺死應用程序來釋放系統內存。

因此,應用程序可能會得到提示,如果在Activity中,它實現onLowMemory()。 根據Android文檔,

這是在整個系統內存不足時調用的,並且希望主動運行進程以嘗試收緊腰帶。雖然沒有定義它的確切點,但通常它會在所有後臺進程被殺死的時候發生,也就是在達到託管服務和前臺UI的殺死進程之前,我們希望避免殺死。

+0

也許你的意思是OOM殺手。但是當用戶從任務管理器關閉應用程序時我需要信號。 –

+0

是的,我假設OOM殺手。由於Android任務可以由來自不同應用程序的活動組成,因此不確定Activity是否有任何回調來註冊用戶觸發的應用程序關閉。諸如onPause(),onStop()之類的活動生命週期事件可以是您可以實現代碼的地方,在用戶觸發應用程序關閉的情況下,該代碼將被調用 – 2013-09-01 03:48:36

相關問題