我有一个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