0

我必须每隔 1 小时重新启动我的应用程序。但是当我尝试下面的代码时,一个新的活动正在启动,但我想关闭的活动仍在后台作为线程运行:S

我需要做什么?谢谢..

if (timeOutOK) {

            finish();
            Intent i = getBaseContext().getPackageManager()
                    .getLaunchIntentForPackage(
                            getBaseContext().getPackageName());
            i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            startActivity(i);

        }
4

1 回答 1

0

您可能在某处保留了对该活动的实时引用。即使在调用完成之后,旧的活动也不会被 GC-ed,直到没有对它的实时引用,因此您需要更新所有引用以指向新的活动。

您说它作为线程在后台运行没有任何意义,但您的活动可能会继续在后台线程或 UI 线程上执行操作,只要它没有得到正确处理。

于 2012-11-28T16:28:17.757 回答