我有一個Android應用程序,首先當用戶打開我的應用程序時,我顯示Splashscreen
,之後用戶導航到HomeActivity
。爲什麼在調用ondestroy我的活動後,我仍然看到從同一活動銷燬的Toasts
現在實際上我看到一個奇怪的事情發生是在我Splashscreen
我打電話被調用Toast
,使progressBar GONE
但事情是一個函數的ondestroy()
功能,我錯誤地調用該函數在一個循環中,從而發生了什麼是我的Splashscreen ondestroy函數被調用,我的HomeActivity正在顯示,但仍然Toast從Splashscreen一次又一次地顯示。
現在我的問題是在摧毀Splashscreen之後爲什麼android不會給我這個錯誤,因爲我引用Toast and ProgressBar
這是綁定到Splashscreen,所以它必須給我的錯誤。
而且,如果它不應該給我錯誤,那麼請告訴我什麼是在這裏工作的概念,我不知道。 並非我們在我們的活動類中所做的所有變量都僅限於該活動,並且該活動被破壞時,它們也是如此 ??
我閃屏功能代碼下面這是越來越再次調用,並給出提前再次
public void function showdialog() {
Toast.makeText(getBaseContext(), "Total Pending Notifications: " + pen_notifs, Toast.LENGTH_SHORT).show();
progressbar.setVisibility(View.VISIBLE);
}
感謝。
Biut my onDestory()函數被調用? –
我在日誌中看到過 –
是的,當'Activity'應該被銷燬時,你的'onDestroy'會被調用。但是如果有其他生物體(在你的情況下爲'Service')對你的'Activity'有強烈的參考,那'Activity'不能被垃圾收集。這就是所謂的活動泄漏。 – Bob