我必须以1小时的间隔重启我的应用程序。但是当我尝试下面的代码时,一个新的ctivity正在启动,但我要关闭的活动仍然在后台作为一个线程运行:S
我该怎么办?感谢..
if (timeOutOK) {
finish();
Intent i = getBaseContext().getPackageManager()
.getLaunchIntentForPackage(
getBaseContext().getPackageName());
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
}
答案 0 :(得分:0)
你可能在某处保留了对活动的生活参考。即使在调用完成后,旧活动也不会进行GC编辑,直到没有实时引用,因此您需要更新所有引用以指向新活动。
你说它在后台运行,因为一个线程没有任何意义,但你的活动可能会继续在后台线程上执行操作 - 或者在UI线程上 - 只要它没有得到妥善处理。