簡體   English   中英

Android:當Dalvik殺死此活動時,不會調用Activity.onDestroy()

[英]Android: Activity.onDestroy() is not called when Dalvik kills this Activity

我對Activity.onDestroy()感到困惑。 當我的Activity被銷毀時我需要釋放一些資源,但是當我按下“后退”鍵時,似乎調用了onDestroy(),但是當我的活動被Dalvik殺死時卻沒有。 我只是通過添加日志來測試它:

Log.v("my_tag", "onDestroy() called");

和onCreate()方法一樣:

Log.v("my_tag", "onCreate() called");

然后我開始我的Activity,我在日志中看到: onCreate() called 我按“返回”鍵然后再次啟動活動,然后我看到:

onDestroy() called
onCreate() called 

然后我按“Home”鍵再次轉到我的Activity,日志不會改變。 好的,這里。

然后我再次按“Home”鍵並啟動一些非常“重”的應用程序。 在日志中沒有關於onDestroy(),但是當我再次啟動我的Activity時,我在日志中看到: onCreate() called 因此,沒有調用onDestroy(),但我的Activity被殺了。 怎么了?

onDestroy()文檔:

[..]有些情況下系統會簡單地殺死活動的托管過程,而不會在其中調用此方法(或任何其他方法),因此它不應該用於執行過程消失后要保留的內容。

在Android中,您將無法獲得有保證的onDestroy()調用。
如果要釋放一些資源,則應該在onPause()執行此操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM