Android使用代码重启主要活动

时间:2012-11-28 15:57:42

标签: android restart

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

我该怎么办?感谢..

if (timeOutOK) {

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

        }

1 个答案:

答案 0 :(得分:0)

你可能在某处保留了对活动的生活参考。即使在调用完成后,旧活动也不会进行GC编辑,直到没有实时引用,因此您需要更新所有引用以指向新活动。

你说它在后台运行,因为一个线程没有任何意义,但你的活动可能会继续在后台线程上执行操作 - 或者在UI线程上 - 只要它没有得到妥善处理。